|
Did you try?
As quick look at MSDN shows it (System.Array ) has [Serializable] attribute, so I guess answer is YES.
best regards,
David 'DNH' Nohejl
Never forget: "Stay kul and happy" (I.A.)
|
|
|
|
|
Here's my code:
try
{
_strContent = "<Employees><Employee id=\"1\"><Name>Ethan</Name></Employee></Employees>"
_xmlDoc.Load(".\\EMP.xml");
_docFrag = _xmlDoc.CreateDocumentFragment();
_docFrag.InnerXml = _strContent;
_xmlDoc.DocumentElement.AppendChild(_docFrag);
_xmlDoc.Save(".\\EMP.xml");
}
catch(Exception exc)
{
MessageBox.Show(exc.ToString());
}
The EMP.xml is already existing. I just used the above block of code to add new nodes into an existing EMP.xml file. But, I received this exception:
This is an unexpected token. The expected token is 'EndElement'
Unlikely though, the code performs its function. When I check the file, I saw that the node I am trying to add was there, its just that the error keeps on prompting. Will anyone help me? Thanks in advance!
----------------------
Seeing the infinite...
|
|
|
|
|
well I don't know what exactly is problem there, maybe you already solved it (?).
Ethan Marixxe Drater wrote:
This is an unexpected token. The expected token is 'EndEleme
That means syntax error in your XML. Surprisingly.
Ethan Marixxe Drater wrote:
Unlikely though, the code performs its function. When I check the file, I saw that the node I am trying to add was there, its just that the error keeps on prompting.
Strange.
Could you post small examples of input/output? Or at least where exactly exception raises? I mean what statement? _xmlDoc.Load(), _xmlDoc.Save(), AppendChild?
Funny how can be debugging something about 10 lines difficult. I just failed test cuz of the same
David
Never forget: "Stay kul and happy" (I.A.)
|
|
|
|
|
Hi David!I was able to fix it. I simply forget to close the node Thanks for the help.
----------------------
Seeing the infinite...
|
|
|
|
|
How could i convert XML file to STRING?
Here's my sample file...
Books.xml
<Books>
<Book>
<Title>Angels and Demons</Title>
<Author>Dan Brown</Author>
</Book>
</Books>
----------------------
Seeing the infinite...
|
|
|
|
|
hmmm. Could you delete your next "posts"? I mean you should MODIFY this one, not to post it again. If you didn't notice, there is magical "modify" link that allows you to edit your post. "delete" is right next to it Thank you.
As for your question... How do you want output to look like? If you have XML file and you want to have string with ALL markup, simple solution is to load it with System.IO.TextReader .
If you want to get only "Dan Brown", you should use classes from System.XmlNamespace . You can use XmlTextReader (similar way as TextReader, bt it reads XML nodes not characters or lines like TextReader) or XmlDocument (easy - it has Load(filename) method). To get "Dan Brown" text, you have to read <Author> element - with XmlTextReader use
this link cuz I just realized that I have lot of work now... sorry[^]
best regards,
David 'DNH' Nohejl
Never forget: "Stay kul and happy" (I.A.)
|
|
|
|
|
Hi David, thanks for your help, I think i'll prefer the use of TextReader.
----------------------
Seeing the infinite...
|
|
|
|
|
I am not a C# person nor am I a XML person.
But I have enough skills I can fake it. Could you suggest a C# book that has a basic
1. Read an XML file
2. Determine that it is well formated.
3. Validate the scheme.
4. Write the result.
thanks
|
|
|
|
|
Your first visit should be www.w3c.org for items 2 and 3,
for 1 and 4 ado.net
|
|
|
|
|
hello ,
I have a problem in retreiving the innerXml values from an XML File . The File is pasted below and the method I use is also listed below .
I want to list out the values Sylesh1,Sylesh2,sylesh3........ sylesh9 to an
arrayList .
The Method I use is... below but somehow I cannot retirve the values under the Path. Please point out my errors ?
XmlDocument _Document = new XmlDocument ();
_Document.Load (FileName);
XmlElement _Root = _Document.DocumentElement ;
XmlNodeList _NodeList = _Document.GetElementsByTagName
("configuration/userNames/sylesh/add/listGridCustomizations/myListGrid");
if (_NodeList.Count > 0)
{
foreach (XmlNode _Node in _NodeList)
{
List.Add(_Node.Attributes.GetNamedItem ("value").InnerText);
}
}
Any help ? suggestions ?
or if I'm wrong please point out ?
thanks Sylesh
<configuration>
<configsections>
<sectiongroup name="userNames">
<sectiongroup name="sylesh">
<sectiongroup name="listGridCustomizations">
<usernames>
<sylesh>
<add key="IsCustomized" value="false">
<listgridcustomizations><mylistgrid>
<add key="Column0" value="Sylesh0">
<add key="Column1" value="Sylesh1">
<add key="Column2" value="Sylesh2">
<add key="Column3" value="Sylesh3">
<add key="Column4" value="Sylesh4">
<add key="Column5" value="Sylesh5">
<add key="Column6" value="Sylesh6">
<add key="Column7" value="Sylesh7">
<add key="Column8" value="Sylesh8">
<add key="Column9" value="Sylesh9">
<listgridcustomizations><wrwerwer>
<add key="Column0" value="Sylesh0">
<add key="Column1" value="Sylesh1">
<add key="Column2" value="Sylesh2">
<add key="Column3" value="Sylesh3">
<add key="Column4" value="Sylesh4">
<add key="Column5" value="Sylesh5">
<add key="Column6" value="Sylesh6">
<add key="Column7" value="Sylesh7">
<add key="Column8" value="Sylesh8">
<add key="Column9" value="Sylesh9">
Thanks
Sylesh
Sylesh
|
|
|
|
|
hi,
first could you please edit your post and check "Do not thread <'s as HTML tags"?
Sylesh wrote:
but somehow I cannot retirve the values under the Path.
Does it mean you get empty NodeList? According to MSDN docs[^] you don't have to (or maybe you CAN'T) include whole path as argument.
Simple
XmlNodeList _NodeList = _Document.GetElementsByTagName("myListGrid");<br />
should be enough.
Sylesh wrote:
List.Add(_Node.Attributes.GetNamedItem ("value").InnerText);
Or does it fail there?
best regards,
David 'DNH' Nohejl
Never forget: "Stay kul and happy" (I.A.)
|
|
|
|
|
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="userNames" type="Sedc.WinForms.TabControl.Configuration.cs"/>
</configSections>
<userNames>
<sylesh>
<add key="IsCustomized" value="false" />
<listGridCustomizations>
<myListGrid>
<add key="Column0" value="Sylesh0" />
<add key="Column1" value="Sylesh1" />
<add key="Column2" value="Sylesh2" />
<add key="Column3" value="Sylesh3" />
<add key="Column4" value="Sylesh4" />
<add key="Column5" value="Sylesh5" />
<add key="Column6" value="Sylesh6" />
<add key="Column7" value="Sylesh7" />
<add key="Column8" value="Sylesh8" />
<add key="Column9" value="Sylesh9" />
</myListGrid>
</listGridCustomizations>
<listGridCustomizations>
<wrwerwer>
<add key="Column0" value="Sylesh0" />
<add key="Column1" value="Sylesh1" />
<add key="Column2" value="Sylesh2" />
<add key="Column3" value="Sylesh3" />
<add key="Column4" value="Sylesh4" />
<add key="Column5" value="Sylesh5" />
<add key="Column6" value="Sylesh6" />
<add key="Column7" value="Sylesh7" />
<add key="Column8" value="Sylesh8" />
<add key="Column9" value="Sylesh9" />
</wrwerwer>
</listGridCustomizations>
</sylesh>
</userNames>
</configurations>
|
|
|
|
|
removing path from GetElementsByTagName(...) didn't help?
David
Never forget: "Stay kul and happy" (I.A.)
|
|
|
|
|
I take in a xsl file the data from a xml file: <xsl:value-of select="name">. How do i do so that the "name" apears as a link to "name". (for ex.:if name is "www.codeproject.com" the i want ro appear as a link to it's own text).
Thanks!
|
|
|
|
|
oh I don't undestand what is your goal. Plz try to edit your post (modify) so we can see <xsl:value-of select="name"> - I don't think everybody looks at source code to see what you indended to write - you have to check "do not treat..." or escape all < and >.
Do you have XML like <name>www.codeproject</name> and you want to do what with it? transfrom it to hyperlink?
One way is:
<br />
<a><br />
<xsl:attribute name="href"><br />
<xsl:value-of select="name" /><br />
</xsl:attribute><br />
<xsl:value-of select="name" /><br />
</a><br />
Or do you want something else?
best regards,
David 'DNH' Nohejl
Never forget: "Stay kul and happy" (I.A.)
|
|
|
|
|
Hi all,
I am new to XML. I am trying to fill a Dataset with the help of XML. But what I want to do is to verify the data against an XML schema file(XSD file) and then fill it in the Dataset. Is it possible. If yes can anyone help me please.
|
|
|
|
|
Can you put me on the track for understanding and creating web services? I have gone through w3schools tutorials about SOAP but with that I could not write any web services.
When I google for web services there are lot of tutorials.
There are SOAP,REST etc don't know what they are.
I want to use PHP for web services.
Please help
Ranjan
|
|
|
|
|
Hi,
This project is on developing a portal using DiGIR technology. There is a portal.xml file that need to be edited.I'm confused and not sure which part is need to be edited.This project is basically run by two environment which consist of engine and presentation layer. The problem is taht I can't insert the provider to the portal.According to relevant source there is a problem in the schema file.
<br />
<providerFilter>org.calacademy.digir.engine.Darwin2ProviderFilterer</providerFilter><br />
<xmlSchema><br />
<namespace>http:
<handle>xsi</handle><br />
</xmlSchema><br />
<protocolSchema><br />
<namespace>http:
<location>http:
<handle>digir</handle><br />
</protocolSchema><br />
<contactEmail>your.name@your.domain.com</contactEmail><br />
</config><br />
<!--
Please reply as soon as possible to whom it's concern.
Thank you.
|
|
|
|
|
ok,
first, do you know that you can edit your (non-anonymous) post? There is no need to post it again.
and second, if I understand correctly that problem is with editing some (configuration?) file - portal.xml, so you should seek help at DiGIR website...
best regards,
David 'DNH' Nohejl
Never forget: "Stay kul and happy" (I.A.)
|
|
|
|
|
hi there,
i got a little problem diving me crazy:
i got a new pc with winXP SP2 installed and i can't install the SVG viewer (and some more drivers/plugins)
i think it's some kind of protection but i really don't know what to do!
can anybody help me?
thans in advance!
fuel2run
|
|
|
|
|
Hello,
I am trying to create a webservice that will enable me to retrieve rows from a database in sql. I would like the service to return the datatable filled with the records. So that the consumer can display in a datagrid. But l am not sure if l am going about it correctly.
This is my code below.
[WebMethod (Description="This will get retrieve customers' orders")]<br />
public DataTable RetrieveOrders()<br />
{<br />
SqlConnection cnn = new SqlConnection("Server = Steves-pc; Database = northwind; Integrated Security = yes");<br />
cnn.Open();<br />
SqlDataAdapter da = new SqlDataAdapter();<br />
SqlCommand cmd = new SqlCommand();<br />
DataTable dt = new DataTable("Orders");<br />
<br />
string getOrders = "SELECT OrderID,CustomerID,ShipName,ShipCountry FROM Orders";<br />
cmd = cnn.CreateCommand();<br />
cmd.CommandType = CommandType.Text;<br />
cmd.CommandText = getOrders;<br />
da.SelectCommand = cmd;<br />
<br />
dt.Clear();<br />
da.Fill(dt);<br />
<br />
cnn.Close();<br />
<br />
return dt; <br />
}
Many thanks in advance,
Steve
|
|
|
|
|
Here's a quick code diagnosis:
steve_rm wrote:
cnn.Open();
This line is not needed since you are using an SqlDataAdapter. The SqlDataAdapter automatically calls the SqlConnection.Open() and SqlConnection.Close() methods.
steve_rm wrote:
SqlCommand cmd = new SqlCommand();
You don't need to initialize this variable since you are re-assigning it later in your code:
steve_rm wrote:
cmd = cnn.CreateCommand();
You should set SqlCommand cmd = null; .
This call is not needed since the DataTable is empty after creation:
steve_rm wrote:
dt.Clear();
As previously stated, this line is not needed (see above).
steve_rm wrote:
cnn.Close();
Hope this helps!
~Javier Lozano
(blog)
|
|
|
|
|
Hi
I need a help Pls Its very urgent , help me to get out
I have doen a pgm to read
any schema file(.xsd) and load data's into a xml file(resultant file).
Here what I had done inside the Load button is that for any datatypes
in the schema, enter the values as james for string, 100 for interger
like that, I have specified by using the SWITCH statement. But my
requirement is such that , when I entered the .xsd file and resultant xml file then when i click the Load Button, It should create around 200 data's but, the data's should differ form each other.
I dont know how to do this. Pls help me. Here I am sending the coding
again.create a new project with c# windows application, copy this
coding and run and see.
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Xml;
using System.Xml.Schema;
namespace testdatagenerator
{
///
/// Summary description for Form1.
///
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.TextBox txtSchema;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox txtXml;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.DataGrid dataGrid1;
private System.Data.DataSet dataSet1;
///
/// Required designer variable.
///
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.txtSchema = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.txtXml = new System.Windows.Forms.TextBox();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.dataGrid1 = new System.Windows.Forms.DataGrid();
this.dataSet1 = new System.Data.DataSet();
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataSet1)).BeginInit();
this.SuspendLayout();
//
// txtSchema
//
this.txtSchema.Location = new System.Drawing.Point(88, 24);
this.txtSchema.Name = "txtSchema";
this.txtSchema.Size = new System.Drawing.Size(440, 20);
this.txtSchema.TabIndex = 0;
this.txtSchema.Text = "";
//
// button1
//
this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.button1.Location = new System.Drawing.Point(536, 24);
this.button1.Name = "button1";
this.button1.TabIndex = 1;
this.button1.Text = "Browse";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// txtXml
//
this.txtXml.Location = new System.Drawing.Point(88, 64);
this.txtXml.Name = "txtXml";
this.txtXml.Size = new System.Drawing.Size(440, 20);
this.txtXml.TabIndex = 2;
this.txtXml.Text = "";
//
// button2
//
this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.button2.Location = new System.Drawing.Point(536, 64);
this.button2.Name = "button2";
this.button2.TabIndex = 3;
this.button2.Text = "Load";
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button3
//
this.button3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.button3.Location = new System.Drawing.Point(616, 64);
this.button3.Name = "button3";
this.button3.TabIndex = 4;
this.button3.Text = "Save";
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// dataGrid1
//
this.dataGrid1.DataMember = "";
this.dataGrid1.DataSource = this.dataSet1;
this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
this.dataGrid1.Location = new System.Drawing.Point(0, 120);
this.dataGrid1.Name = "dataGrid1";
this.dataGrid1.Size = new System.Drawing.Size(776, 320);
this.dataGrid1.TabIndex = 5;
//
// dataSet1
//
this.dataSet1.DataSetName = "NewDataSet";
this.dataSet1.Locale = new System.Globalization.CultureInfo("en-US");
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(808, 454);
this.Controls.Add(this.dataGrid1);
this.Controls.Add(this.button3);
this.Controls.Add(this.button2);
this.Controls.Add(this.txtXml);
this.Controls.Add(this.button1);
this.Controls.Add(this.txtSchema);
this.Name = "Form1";
this.Text = "TestDatagenerator";
((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataSet1)).EndInit();
this.ResumeLayout(false);
}
#endregion
///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
OpenFileDialog fdlg = new OpenFileDialog();
fdlg.Title = "select schema file" ;
fdlg.InitialDirectory = @"c:\CDEV\testdatagenerator" ;
fdlg.Filter = "schema files(*.xsd) |*.xsd| all files(*.*) | *.*";
fdlg.FilterIndex = 2 ;
fdlg.RestoreDirectory = true ;
if(fdlg.ShowDialog() == DialogResult.OK)
{
txtSchema.Text = fdlg.FileName ;
}
}
private void button2_Click(object sender, System.EventArgs e)
{
dataSet1.ReadXmlSchema(txtSchema.Text);
foreach (DataTable dTbl in dataSet1.Tables)
{
object[] oValues = new object[dTbl.Columns.Count];
int i = 0;
foreach (DataColumn dColmn in dTbl.Columns)
{
switch(dColmn.DataType.ToString())
{
case "System.String":
oValues[i] = (string) "This is string";
break;
case "System.Int32":
oValues[i] = (int) 100;
break;
case "System.DateTime":
oValues[i] = new DateTime(2004,10,12);
break;
case "System.Decimal":
oValues[i] = new Decimal(999999999.99);
break;
case "System.Int16":
oValues[i] = (short) 32767;
break;
case "System.Int64":
oValues[i] = (long) 9223372036854775807;
break;
case "System.Double":
oValues[i] = (double) 888888888888888;
break;
}
i += 1;
}
dTbl.Rows.Add(oValues);
}
}
private void button3_Click(object sender, System.EventArgs e)
{
dataSet1.WriteXml(txtXml.Text,XmlWriteMode.WriteSchema );
MessageBox.Show("Saved");
}
}
}
|
|
|
|
|
Hello there,
I'm using XML to develop portal using DiGIR(Distributed Indegenous Generic Information Retrieval) technology.
My problem here is I couldn't insert my provider in the portal that I have developed.
Here is the portal.xml file.
Please tell me where is the problem.
Please reply.Thank you.
<config xmlns="http://www.calacademy.org/portal" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://www.calacademy.org/portal portal.xsd">
<version>0.95
<http>
<maxconnections>500
<maxconnectionsperhost>50
<connectionwaittime>10
<connectionestablishmenttimeout>10
<connectionresponsetimeout>30
<connectionretries>3
<handlerpoolthreadmax>15
<configrefreshinterval>0
<providercacherefreshinterval>300
<registry>
<uddiinquiryurl>http://uddi.microsoft.com/inquire
<uddiservicekey>UUID:4DFAB7E8-6387-431D-BC20-6291E99A51A8
<provider>
<name>MIMODS Provider
<accesspoint>http://202.185.72.215/digir/DiGIR.php
<providerfilter>org.calacademy.digir.engine.Darwin2ProviderFilterer
<xmlschema>
<namespace>http://www.w3.org/2001/XMLSchema-instance
<handle>xsi
<protocolschema>
<namespace>http://digir.net/schema/protocol/2003/1.0
<location>http://digir.sourceforge.net/schema/protocol/2003/1.0/digir.xsd
<handle>digir
<contactemail>your.name@your.domain.com
|
|
|
|
|
I have a program that uses xpath expressions to navigate an XPathDocument, e.g.
dim iter as XPathNodeIterator = myNav.Select(myXpathExpression) Today, to make the XML source document easier to edit, I added a target namespace, i.e.
<MyDocElement xmlns="http://x.y.com/abc/Mapping.xsd"> .
After I did this, my xpath expressions no longer work. Does anyone know what I need to do to make them work again? (Note that I am not using a namespace prefix).
my blog
|
|
|
|