我在 ASP.NET C# 中使用“XmlTextReader”对象来读取 xml 文件。 在我的代码中,我真的需要区分像
这样的自结束标签<img src="something" />
还有那些内部有元素并且需要结束标签的:
<div class="anything">
<img src="something" />
</div>
我尝试过 HasValue 方法,但效果不佳。在实际读取元素之前,还有其他方法可以检测到这一点吗?
我可以使用 ReadElementContentAsString() 方法,但我真的不想这样做。在进去之前我需要知道里面是否有东西。或者至少能够回去。
更新 这就是我阅读代码的方式
reader.MoveToAttribute("id"); //I know all attributes
if (reader.ReadAttributeValue())
this.idField = reader.Value;
reader.MoveToElement();
bool goOn = true;
while (goOn)
{
reader.Read();
switch (reader.NodeType)
{
case XmlNodeType.Element:
switch (reader.Name)
{
case "div":
DivType newDivTypeItem = new DivType(reader);
this.itemsField.Add(newDivTypeItem);
this.itemsElementNameField.Add(ItemsChoiceType17.div);
break;
other cases...
}
break;
case XmlNodeType.Text:
this.textField.Add(reader.Value);
break;
case XmlNodeType.EndElement:
goOn = false;
break;
}
}
最佳答案
是 IsElementEmpty property你想要什么?您究竟是如何阅读您的文档,以至于出现这种情况?
关于C# XML 解析 : how to differentiate between self-closing tag and other tags?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18341563/