1
<a><b>26a83f12c782</b><c>128</c><d>12</d></a>
static void ReadXml1()
{
string b = null;
double c = 0;
double d = 0;
using (XmlTextReader xmlReader = new XmlTextReader("Testxml.xml"))
{
if (xmlReader != null)
{
while (xmlReader.Read())
{
if (xmlReader.NodeType == XmlNodeType.Element)
{
switch (xmlReader.Name)
{
case "b":
b = xmlReader.ReadElementContentAsString();
break;
case "c":
c = double.Parse(xmlReader.ReadElementContentAsString());
break;
case "d":
d = double.Parse(xmlReader.ReadElementContentAsString());
break;
}
}
}
}
}
}
第一行在Testxml.xml文件中。案例“c”从未被击中。但如果我在xml文件中的</b>
之后添加一个空格,它将起作用。但我无法更改xml文件。那么如何获得c元素的值呢?使用C#的XML文件阅读器
是您的情况下,“B”打?它看起来像循环了第一层XML,而不是第二层,其中''存在 –
davisoa
2010-10-13 03:55:13
明白了。需要分别在案例“c”和案例“d”之后添加goto案例“c”并且转到案例“d”而不是中断。 – Learner 2010-10-13 04:05:26
你需要休息;否则,代码将落入下一个案例。我在想,xmlReader.Read()只能看到''的XML级别,而不是子级,其中包含'' –
davisoa
2010-10-13 04:15:53