Heim  >  Artikel  >  Backend-Entwicklung  >  Wie durchläuft Linq in XML gespeicherte Daten?

Wie durchläuft Linq in XML gespeicherte Daten?

PHPz
PHPzOriginal
2017-04-23 16:40:572033Durchsuche

Oft müssen wir XML-Dateien verwenden, aber was sind XML-Dateien?

Lassen Sie uns ein Beispiel zur Veranschaulichung verwenden: testResult.xml-Datei

<?xml version="1.0" encoding="utf-8" ?>
<Columns>
  <column id="序号">
    <name>序号</name>
  </column>
  <column id="检验项目">
    <name>检验项目</name>
  </column>
  <column id="单位">
    <name>单位</name>
  </column>
  <column id="标准要求">
    <name>标准要求</name>
  </column>
  <column id="检验结果">
    <name>检验结果</name>
  </column>
  <column id="结论">
    <name>结论</name>
  </column>
</Columns>

Das Obige ist eine XML-Datei. Wir wissen, dass die XML-Datei verwendet wird Speichert Daten. Wie durchlaufen wir diese Daten?

Der einfachste Weg ist tatsächlich die Verwendung von Linq:

   private void GetTestResultXml()
    {
        List<string> iTestResultXml=new List<string>();
        //定义并从xml文件中加载节点(根节点)
        XElement rootNode = XElement.Load(@"..\..\Xml\testResult.xml");   
        //查询语句: 获得根节点下name子节点(此时的子节点可以跨层次:孙节点、重孙节点......)
        IEnumerable<XElement> targetNodes = from target in rootNode.Descendants("column")
                                            select target;
        foreach (XElement node in targetNodes)
        {
            iTestResultXml.Add(node.Value);
        }
    }

Auf diese Weise können wir alle Daten im 9ca8bcd8dc9da41be539812c43422c59-Tag abrufen und speichern zur Liste iTestResultXml.

In der Datei testResult.xml sehen wir, dass das Tag

Also Was wäre, wenn wir seine Attribute anstelle des Inhalts in seinen Tags erhalten möchten?

private void GetTestResultXml()
    {
        List<string> iXmlID = new List<string>();
        //定义并从xml文件中加载节点(根节点)
        XElement rootNode = XElement.Load(@"..\..\Xml\testResult.xml");   
        //查询语句: 获得根节点下name子节点(此时的子节点可以跨层次:孙节点、重孙节点......)
        IEnumerable<XElement> targetNodes = from target in rootNode.Descendants("column")
                                            select target;
        foreach (XElement node in targetNodes)
        {
             iXmlID.Add(node.Attribute("id").Value);   //获取指定属性的方法
        }
    }

Auf diese Weise erhalten wir die Listen-iXmlID des id-Attributs im 9ca8bcd8dc9da41be539812c43422c59

Das obige ist der detaillierte Inhalt vonWie durchläuft Linq in XML gespeicherte Daten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn