首先,我对编码和 Delphi 很陌生,已经断断续续使用了几个月了。
下面是一个示例 xml 文件。
我想要实现的是解析 .xml 文件的每个“名称”部分中的所有数据。
我以前从未这样做过。一些指导将不胜感激。我在这里看过与此类似的其他问题,但我无法完全掌握它。
我没有提供代码示例......这就是我的困境,我不知道从哪里开始。
<ds>
<Customers>
<Name>
<address_name>test 1</address_name>
<address_line_1>test 1</address_line_1>
<address_line_2>test 1</address_line_2>
<address_line_3>test 1</address_line_3>
<postcode>test 1</postcode>
<tel_no>test 1</tel_no>
<fax_no>test 1</fax_no>
<email_address>test 1<email_address/>
<website>test 1<website />
</Name>
<Name>
<address_name>test 2</address_name>
<address_line_1>test 2</address_line_1>
<address_line_2>test 2</address_line_2>
<address_line_3>test 2</address_line_3>
<postcode>test 2</postcode>
<tel_no>test 2</tel_no>
<fax_no>test 2</fax_no>
<email_address>test 2<email_address/>
<website>test 2<website />
</Name>
<Name>
<address_name>test 3</address_name>
<address_line_1>test 3</address_line_1>
<address_line_2>test 3</address_line_2>
<address_line_3>test 3</address_line_3>
<postcode>test 3</postcode>
<tel_no>test 3</tel_no>
<fax_no>test 3</fax_no>
<email_address>test 3<email_address/>
<website>test 3<website />
</Name>
<Customers>
</ds>
Thanks,
处理 xml 文件的更好方法是:
<ds>
<Customers>
<Customer>
<address_name>test 1</address_name>
<address_line_1>test 1</address_line_1>
<address_line_2>test 1</address_line_2>
<address_line_3>test 1</address_line_3>
<postcode>test 1</postcode>
<tel_no>test 1</tel_no>
<fax_no>test 1</fax_no>
<email_address>test 1</email_address>
<website>test 1</website>
</Customer>
<Customer>
<address_name>test 2</address_name>
<address_line_1>test 2</address_line_1>
<address_line_2>test 2</address_line_2>
<address_line_3>test 2</address_line_3>
<postcode>test 2</postcode>
<tel_no>test 2</tel_no>
<fax_no>test 2</fax_no>
<email_address>test 2</email_address>
<website>test 2</website>
</Customer>
<Customer>
<address_name>test 3</address_name>
<address_line_1>test 3</address_line_1>
<address_line_2>test 3</address_line_2>
<address_line_3>test 3</address_line_3>
<postcode>test 3</postcode>
<tel_no>test 3</tel_no>
<fax_no>test 3</fax_no>
<email_address>test 3</email_address>
<website>test 3</website>
</Customer>
</Customers>
</ds>
要读取此文件:
插入这两个用途:XMLDoc、XMLIntf;
以下是读取 XML 文件的过程。
procedure TForm1.btnReadXmlFileClick(Sender: TObject);
var
XmlFile : TXMLDocument;
MainNode, CustomerNode : IXMLNode;
i : Integer;
XMLPath : string;
begin
XMLPath := 'Z:\Temp\xmlToRead.xml'; //example of path
XmlFile := TXMLDocument.Create(Application);
try
XmlFile.LoadFromFile(XMLPath);
XmlFile.Active := True;
MainNode := XmlFile.DocumentElement;
for i:=0 to MainNode.ChildNodes['Customers'].ChildNodes.Count-1 do
begin
CustomerNode := MainNode.ChildNodes['Customers'].ChildNodes[i];
//Here you can get any imformation
ShowMessage(CustomerNode.ChildNodes['address_name'].Text);
ShowMessage(CustomerNode.ChildNodes['address_line_1'].Text);
end;
finally
FreeAndNil(XmlFile);
end;
end;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)