ASP.NET C# で "XmlTextReader" オブジェクトを使用して xml ファイルを読み込んでいます。私のコードでは、次のような自己終了タグを区別する必要があります
<img src="something" />
内部に要素があり、次のような終了タグが必要なもの:
<div class="anything">
<img src="something" />
</div>
HasValue メソッドを試しましたが、うまくいきませんでした。要素を実際に読み取る前に、それを検出する他の方法はありますか?
ReadElementContentAsString() メソッドを使用できますが、実際には使用したくありません。中に入る前に、中に何か入っているかどうかを知る必要があります。または少なくとも戻ることができます。
UPDATE これは私が自分のコードを読んでいる方法です
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;
}
}