我的 xml 部分是这样的:
<Note>
<SpecialText att1="" />
</Note>
或者
<Note>
This is a note.
</Note>
我需要的是使用 XmlReader 读取 xml,但我不确定如何确定 innerXml 是另一个 xmlelement 还是只是文本。
我这样做:
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
switch (reader.LocalName.ToLower())
{
case MMLElement.SpecialText:
//// read related attributes
break;
}
}
}
但是如果Note下面的东西只是文字,我怎么看内容呢。 如果我使用 reader.ReadInnerXml,它会读取所有内容,所以我没有机会查看它是 SpecialText XmlElement 还是只是文本?
非常感谢
最佳答案
现在这听起来可能有点居高临下,但我认为通过挖掘引用资料可以很容易地回答这个问题。再一次,我可能不完全理解你的问题。如果以下答案不是您要找的,请发布更多详细信息,我很乐意提供帮助。
要确定内容是否只是文本,只需检查它,然后随心所欲地处理它:
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
switch (reader.LocalName.ToLower())
{
case MMLElement.SpecialText:
//// read related attributes
break;
}
}
else if (reader.NodeType == XmlNodeType.Text)
{
string thisIsjustText = reader.value;
}
//whatever comes next
}
关于c# - 如何使用xmlreader读取这个xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9381720/