zoukankan      html  css  js  c++  java
  • XML SelectSingleNode的使用 根据节点属性获取该节点

    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, msxml,StdCtrls;

    type
      TForm1 = class(TForm)
        btn1: TButton;
        XMLDocument1: TXMLDocument;
        procedure btn1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.btn1Click(Sender: TObject);

    var
      noderef: IXMLDOMNodeRef;
      root: IXMLDOMNode;
      Node: IXMLDOMNode;

    begin
      XMLDocument1.LoadFromFile('test.xml');

      XMLDocument1.Active := True;
      noderef := XMLDocument1.DocumentElement.DOMNode as IXMLDOMNodeRef;
      root := noderef.GetXMLDOMNode; // 获取跟节点
      Node := root.selectSingleNode('ItemList/Item[@name="name2"]'); // 根据路径的属性值获取节点

      ShowMessage(Node.Attributes.getnameditem('title').Text); // title2

      Node.Attributes.getnameditem('title').Text:='hello'; // <Item name="name2" title="title2"/>  =>  <Item name="name2" title="hello"/> 
      XMLDocument1.SaveToFile('test.xml');
    end;

    end.

    test.xml文档:

    <?xml version="1.0" encoding="utf-8"?>
    <Test>
        <ItemList>
            <Item name="name1" title="title1"></Item>
            <Item name="name2" title="title2"/>
        </ItemList>
    </Test>

    http://blog.csdn.net/henreash/article/details/16827007

  • 相关阅读:
    Pretty girl,你一定要去旅行
    难受就哭,开心就笑
    你对你的大学生活满意吧
    [leetCode]575. 分糖果
    [leetCode]383.赎金信
    242. 有效的字母异位词
    [leetCode]538. 把二叉搜索树转换为累加树
    [leetCode]面试题 02.07. 链表相交
    [leetCode]206. 反转链表
    [leetCode]707. 设计链表
  • 原文地址:https://www.cnblogs.com/findumars/p/5285905.html
Copyright © 2011-2022 走看看