このxmlを達成するために助けが必要です.3行目に問題があります.これは私のコードで得られるものです:
<?xml version="1.0" encoding="utf-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
<f xmlns="" href="myExample.pdf">
<fields>
<field name="chk01">
<value>X</value>
</field>
<field name="chk02">
<value>X</value>
</field>
<field name="edt11">
<value>Some text</value>
</field>
</fields>
</f>
</xfdf>
これが私が必要とするものです:
<?xml version="1.0" encoding="UTF-8"?>
<xfdf xmlns="http://ns.adobe.com/xfdf/" xml:space="preserve">
<f href="myExample.pdf"/>
<fields>
<field name="chk01">
<value>X</value>
</field>
<field name="chk02">
<value>X</value>
</field>
<field name="edt11">
<value>Some text</value>
</field>
</fields>
</xfdf>
2 番目の例のように "f" タグを作成する方法がわかりません。これは少し異なり、最初の例のように最後の行の前ではなく、同じ行で閉じていることに注意してください。
これが私のコードです:
....
Var
XML : IXMLDOCUMENT;
RootNode, NodeLevel1, CurNode : IXMLNODE;
Begin
XML := NewXMLDocument;
XML.Encoding := 'utf-8';
XML.Options := [doNodeAutoIndent];
RootNode := XML.AddChild('xfdf');
RootNode.Attributes['xmlns']:= 'http://ns.adobe.com/xfdf/';
RootNode.Attributes['xml:space']:= 'preserve';
RootNode := XML.DocumentElement.AddChild('f');
RootNode.Attributes['href']:= 'myExample.pdf';
NodeLevel1 := RootNode.AddChild('fields');
CurNode := NodeLevel1.AddChild('field');
CurNode.Attributes['name'] := 'chk01';
CurNode := CurNode.AddChild('value');
CurNode.Text:= 'X';
CurNode := NodeLevel1.AddChild('field');
CurNode.Attributes['name'] := 'chk02';
CurNode := CurNode.AddChild('value');
CurNode.Text:= 'X';
CurNode := NodeLevel1.AddChild('field');
CurNode.Attributes['name'] := 'edt11';
CurNode := CurNode.AddChild('value');
CurNode.Text:= 'Some text';
XMl.SaveToFile('C:\New.fdf');