C#XML解析:如何区分自关闭标记和其他标记
本文关键字:其他 解析 何区 C#XML | 更新日期: 2023-09-27 18:28:26
我正在使用ASP.NET C#中的"XmlTextReader"对象读取xml文件。在我的代码中,我真的需要区分像这样的自结束标签
<img src="something" />
以及那些里面有元素并且需要结束标签的,比如:
<div class="anything">
<img src="something" />
</div>
我尝试过HasValue方法,但它对我来说效果不好。有没有其他方法可以检测到BEFORE实际读取元素的情况?
我可以使用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属性是您想要的吗?你究竟是如何阅读你的文件的?