正確創建XML標題(以pdf格式填充pdf文檔)請使用我需要幫助來實現這個xml,我有一個問題與第三行,這是我得到的代碼:如何正確使用IXMLDOCUMENT
<?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>
我不知道如何在第二個例子中創建的「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');
哇,非常感謝你的時間,如此清楚,並很好地解釋。我喜歡第二種方法,因爲它在代碼中少一點冗餘,子節點的名稱空間是從根節點繼承而來的,我不必再指定它。 – Jiug
,當然結果如預期的那樣在節點「f」和「fields」中沒有不需要的屬性xmlns =「」。現在很清楚! :) – Jiug
@Jiug:如果此答案解決了您的問題,請務必將其標記爲已接受。請參閱[當某人回答我的問題時該怎麼辦?](http://stackoverflow.com/help/someone-answers)。 –