我现在有一个如下内容的XML文件
<?xml   version="1.0"   encoding='gb2312'?>
<root>
<username English="username" Chianese="用户名" />
</root>我想读取English或者Chinaese属性的内容,请大侠帮忙。
我现还有一个如下内容的XML文件,和上面大同小异
<?xml   version="1.0"   encoding='gb2312'?>
<root>
<username>
<English>username:</English>
<Chianese>用户名:</Chinaese>
<username/>
</root>我想读取English或者Chinaese子节点的内容,请大侠帮忙。

解决方案 »

  1.   

    uses
      msxml;procedure TForm2.FormCreate(Sender: TObject);
    var
      FDoc: IXMLDOMDocument;
      FNode: IXMLDOMNode;
    begin
      FDoc := CoDOMDocument.Create;
      if FDoc.loadXML(Memo1.Text) then
      begin
        FNode := FDoc.selectSingleNode('root/username/@English');
        if Assigned(FNode) then
          Edit1.Text := FNode.nodeValue;
        FNode := FDoc.selectSingleNode('root/username/@Chianese');
        if Assigned(FNode) then
          Edit2.Text := FNode.nodeValue;
      end;
    end;
    另,xml文档有问题,<?xml       version= "1.0"       encoding= 'gb2312'?> 自己去比较吧
      

  2.   

    我考,居然CSDN有如此Bug,
    <?xml version="1.0" encoding="gb2312"?>
      

  3.   

    <?xml version="1.0" encoding="gb2312"?>
    <root>
    <username English="username " Chianese="用户名 "/>
    </root>
      

  4.   

    NND,不标记XML code就给我乱加空格
      

  5.   

    请问大侠 你在2楼所说的Bug是什么意思啊
      

  6.   

    可以使用Delphi的XML Data Binding
      

  7.   

    <?xml   version="1.0"   encoding="gb2312"?>
    <root>
    <username English="username" Chianese="用户名" />
    </root>这个XML的文件路径是C:\mESSAGE.XML我不知道该怎么写,请大侠写个代码。
    1楼大侠,我运行没效果