3

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;
        }
    }
4

1 に答える 1