A
Aaron
I asked for a script that can read info inside a specific xml tag and
someone gave me this example.
XmlReader reader = new XmlTextReader( filename );
while ( reader.Read() )
{
if ( reader.NodeType == XmlNodeType.Element )
{
string val;
switch ( reader.Name )
{
case "first-name":
val = reader.ReadElementString();
// do something
break;
case "last-name":
val = reader.ReadElementString();
// do something
break;
default: break;
}
}
}
This script worked fine until I tried to open an xml file with nested
tags.
for example the xml looks like this
<book>
<genre>
<action>ABC</action>
<bio>DFK</bio>
</genre>
</book>
I would like the result to be this when i select to read the <genre>
tag
<action>ABC</action>
<bio>DFK</bio>
but it gives me this error
Exception: System.Xml.XmlException: 'Element' is an invalid node type
is there anyway to avoid this?
You can use XmlTextReader to do this. Something like (c# code, but
it
could be any .Net language)
XmlReader reader = new XmlTextReader( filename );
while ( reader.Read() )
{
if ( reader.NodeType == XmlNodeType.Element )
{
string val;
switch ( reader.Name )
{
case "first-name":
val = reader.ReadElementString();
// do something
break;
case "last-name":
val = reader.ReadElementString();
// do something
break;
default: break;
}
}
}
-derek
someone gave me this example.
XmlReader reader = new XmlTextReader( filename );
while ( reader.Read() )
{
if ( reader.NodeType == XmlNodeType.Element )
{
string val;
switch ( reader.Name )
{
case "first-name":
val = reader.ReadElementString();
// do something
break;
case "last-name":
val = reader.ReadElementString();
// do something
break;
default: break;
}
}
}
This script worked fine until I tried to open an xml file with nested
tags.
for example the xml looks like this
<book>
<genre>
<action>ABC</action>
<bio>DFK</bio>
</genre>
</book>
I would like the result to be this when i select to read the <genre>
tag
<action>ABC</action>
<bio>DFK</bio>
but it gives me this error
Exception: System.Xml.XmlException: 'Element' is an invalid node type
is there anyway to avoid this?
Aaron said:I need to make a script that reads the info inside a specific tag.
for example the xml file looks like this
<book genre="novel" publicationdate="1967" ISBN="0-201-63361-2">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
and say i seleted the <first-name> tag I want the output to be
Herman
THe closest example i could find is this, but it reads everything in
the xml. i want to read only the tags i choose.
http://samples.gotdotnet.com/quickstart/howto/doc/Xml/ReadXMLFile.aspx
You can use XmlTextReader to do this. Something like (c# code, but
it
could be any .Net language)
XmlReader reader = new XmlTextReader( filename );
while ( reader.Read() )
{
if ( reader.NodeType == XmlNodeType.Element )
{
string val;
switch ( reader.Name )
{
case "first-name":
val = reader.ReadElementString();
// do something
break;
case "last-name":
val = reader.ReadElementString();
// do something
break;
default: break;
}
}
}
-derek