У меня есть XML, где у меня есть несколько атрибутов для одного узла:Добавление разрыва строки в NodeAttributes в OmniXML
var
row : IXMLNode;
rowattr : IXMLAttr;
xml : IXMLDocument;
begin
xml := ConstructXMLDocument('xml');
SetNodeAttr(xml.DocumentElement, 'version', '1.0');
SetNodeAttr(xml.DocumentElement, 'encoding', 'UTF-8');
row := AppendNode(xml, 'Links');
rowattr:=xml.CreateAttribute('Link1');
rowattr.Value:='http:\\wwww.somelink1.com';
row.Attributes.SetNamedItem(rowattr);
rowattr:=xml.CreateAttribute('Link2');
rowattr.Value:='http:\\wwww.somelink2.com';
row.Attributes.SetNamedItem(rowattr);
rowattr:=xml.CreateAttribute('Link3');
rowattr.Value:='http:\\wwww.somelink3.com';
row.Attributes.SetNamedItem(rowattr);
XMLSaveToFile(xml, 'C:\Test1.xml', ofIndent);
end;
Я хочу, чтобы все ссылки на отдельной строке так:
<xml version="1.0" encoding="UTF-8">
<Links
link1="http://www.somelink1.com"
link2="http://www.somelink2.com"
link3="http://www.somelink3.com"
/>
</xml>
Значит, лучше не добавлять ничего такого в атрибуты? – SovereignSun
Спросите себя, как вы собираетесь разбирать эти ссылки. Вам нужно будет написать цикл while while, сформируйте имя атрибута ''link' + IntToStr (i)', проверьте, существует ли этот атрибут. Если это так, прочитайте, если нет, выйдете из цикла. Кроме того, структура непрозрачна, а инструменты XML (трансформации и т. Д.) Этого не поймут. –