Wie durchläuft Linq in XML gespeicherte Daten?

PHPz
Freigeben: 2017-04-23 16:40:57
Original
2081 Leute haben es durchsucht

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>
Nach dem Login kopieren

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);
        }
    }
Nach dem Login kopieren

Auf diese Weise können wir alle Daten im -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);   //获取指定属性的方法
        }
    }
Nach dem Login kopieren

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

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!