首页 > 解决方案 > 当父名和子名相等时如何解析XML

问题描述

  <AR-PACKAGE>
   <Sub-Elements>
      <Imp-Data-Elements>
        <Sub-Elements>
          <Imp-Data-Elements>
            <Sub-Elements>
              <Imp-Data-Elements>
                <Sub-Elements>
                  <Imp-Data-Elements>
                    <Sub-Elements>
                    </Sub-Elements>
                  </Imp-Data-Elements>
                </Sub-Elements>
              </Imp-Data-Elements>
            </Sub-Elements>
          </Imp-Data-Elements>
        </Sub-Elements>
      </Imp-Data-Elements>
    </Sub-Elements>
   </AR-PACKAGE>

目前我正在使用下面的代码将 xml 解析为数据集。但是当子元素与父元素同名时,它会引发错误,否则它可以正常工作。

XmlTextReader reader = new XmlTextReader(filepath); 
reader.WhitespaceHandling = WhitespaceHandling.None;
reader.MoveToContent();

while (reader.Read())
{
    if (reader.NodeType == XmlNodeType.Element && reader.Name == "AR-PACKAGE")
    {
        XmlReader r = reader.ReadSubtree();

        DataSet ds = new DataSet("tbl");

        ds.ReadXml(r)
    }
}

提前致谢。

标签: c#xml

解决方案


推荐阅读