首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >omni xml创建xml

omni xml创建xml
EN

Stack Overflow用户
提问于 2011-11-10 00:07:17
回答 1查看 726关注 0票数 1

以这种格式创建xml文件的最快方法是什么:

代码语言:javascript
复制
<?xml version="1.0" encoding="Unicode" standalone="yes"?>
<A V1="string" V2=String >
  <B>
    <C V3="1" V4="1" V5="0"/>
  </B>
  <C V6="14.25" V7="0.2"/>
  <D>
    <E V8="1" V9="1" V10="2">
    </E>
    <E V8="2" V9="1" V10="2">
       <F V11="a" V12="B">
         <G>0</G>
       </F>
    </E>
    <E V8="1" V9="1" V10="2">
    </E>
    <E V8="2" V9="1" V10="2">
      <F V11="a" V12="B">
        <G>0</G>
      </F>
    </E>
  </D>
</A>

有很多e,我可以在迭代中生成。

然而,我似乎无法掌握使用Omni的最佳方法。

为这么多常量创建10到20个对象似乎是一个混乱和太多的问题。

您还可以提到如何设置编码来生成文件吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-10 19:27:28

这应该可以让你开始:

代码语言:javascript
复制
uses
  OmniXML,
  OmniXMLUtils;

procedure GetEAttr(var v8, v9, v10: integer);
begin
  v8 := Random(10);
  v9 := Random(10);
  v10 := Random(10);
end;

procedure TForm54.FormCreate(Sender: TObject);
var
  i     : integer;
  node1 : IXMLNode;
  node2 : IXMLNode;
  root  : IXMLNode;
  v10   : integer;
  v8    : integer;
  v9    : integer;
  xmlDoc: IXMLDocument;
begin
  xmlDoc := CreateXMLDoc;
  xmlDoc.AppendChild(xmlDoc.CreateProcessingInstruction('xml', 'version="1.0" encoding="Unicode" standalone="yes"'));
  root := AppendNode(xmlDoc, 'A');
  SetNodeAttr(root, 'V1', 'string');
  SetNodeAttr(root, 'V2', 'string');
  node1 := AppendNode(root, 'B');
  node2 := AppendNode(node1, 'C');
  SetNodeAttr(node2, 'V3', '1');
  SetNodeAttr(node2, 'V4', '1');
  SetNodeAttr(node2, 'V5', '0');
  node1 := AppendNode(root, 'C');
  SetNodeAttr(node1, 'V6', '14.25');
  SetNodeAttr(node1, 'V7', '0.2');
  node1 := AppendNode(root, 'D');
  for i := 1 to 4 do begin
    GetEAttr(v8, v9, v10);
    node2 := AppendNode(node1, 'E');
    SetNodeAttrInt(node2, 'V8', v8);
    SetNodeAttrInt(node2, 'V9', v9);
    SetNodeAttrInt(node2, 'V10', v10);
  end;
  XMLSaveToFile(xmlDoc, 'test.xml', ofIndent);
end;
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8067863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档