有XML内容如下
<A><B>1</B><B>2</B></A>
<A><B>3</B><B>4</B></A>想取得 <B>1</B><B>2</B> 和 <B>3</B><B>4</B>
两段数据我用xr.ReadToFollowing("A")
移动到第一个<A>
然后xr.ReadInnerXML();
可是之后xr的游标被放在了第二行的<B>上了
不解。
因为xmlReader是只读向前的 所以没有办法返回<A>了请教我如何可以不用去读B 直接读到A就去A内的内容。
<A><B>1</B><B>2</B></A>
<A><B>3</B><B>4</B></A>想取得 <B>1</B><B>2</B> 和 <B>3</B><B>4</B>
两段数据我用xr.ReadToFollowing("A")
移动到第一个<A>
然后xr.ReadInnerXML();
可是之后xr的游标被放在了第二行的<B>上了
不解。
因为xmlReader是只读向前的 所以没有办法返回<A>了请教我如何可以不用去读B 直接读到A就去A内的内容。
XmlDocument doc = new XmlDocument();
doc.Load(@"c:\test.xml");
XmlNodeList aNodeList = doc.DocumentElement.SelectNodes("A");
foreach (XmlNode aNode in aNodeList)
{
XmlNodeList bNodeList = aNode.SelectNodes("B");
foreach (XmlNode bNode in bNodeList)
{
//to do
}
}<?xml version="1.0" standalone="yes"?>
<Record>
<A> <B>1 </B> <B>2 </B> </A>
<A> <B>3 </B> <B>4 </B> </A>
</Record>
doc.Load(@"c:\test.xml");
XmlNodeList aNodeList = doc.DocumentElement.SelectNodes("A");
foreach (XmlNode aNode in aNodeList)
{
XmlNodeList bNodeList = aNode.SelectNodes("B");
foreach (XmlNode bNode in bNodeList)
{
//to do
}
}
<?xml version="1.0" encoding="utf-8" ?>
<root>
<A>
<B>1</B>
<B>2</B>
</A>
<A>
<B>3</B>
<B>4</B>
</A>
</root>static void Main(string[] args)
{
XmlTextReader reader = new XmlTextReader("abc.xml");
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element &&
reader.Name.Equals("B"))
{ Console.WriteLine(reader.ReadElementContentAsString());
}
}
reader.Close();
}
{
XmlTextReader reader = new XmlTextReader("abc.xml");
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element &&
reader.Name.Equals("B"))
{
Console.WriteLine(reader.ReadOuterXml());
}
}
reader.Close();
}