2014-04-12 141 views
2

我一直在谷歌搜索了一段時間,但我無法找到正確的例子。德爾福加載XML

我有本地XML與節點

而且我有一個表格在我的項目:

EDIT1 |提交

我希望當用戶點擊提交childNode將被創建在我的XML文件中的類別。 像:

<categories> 
<cat1>Name of Cat(Edit1.Text)</cat1> 
</categories> 

編輯:

我Project1.XML文件在我的.exe文件目錄(/Win32/Debug/Project1.XML):

<Kategorijos> 
</Kategorijos> 

在我的形式存在一個輸入字段(Edit1)和一個按鈕(Button1)

按鈕點擊程序應該加載Project1.XML,找到<Kategorijos>並添加childNode(<cat1>Edit1.Text</cat1>)它,所以我如果Edit1的輸入值等於'我的第一個分類',那麼t將看起來像這樣:

<Kategorijos> 
    <cat1>My first caregory</cat1> 
</Kategorijos> 

我使用XE3。

+1

爲了一個模糊的問題,一個模糊的回答。通過使用['OXML'](http://stackoverflow.com/a/20553999/960757),你可以編寫['這樣的東西'](http://pastebin.com/nmy0N1zt)。 – TLama

+0

嗨TLama,我已經從您的示例http://pastebin.com/0nrHdPKs創建了一個過程,但我得到一個錯誤:找不到類Txmldocument。 – user1804119

+0

@ user1804119編輯您的問題幷包括代碼的相關部分。 「我有本地XML與節點」沒有說什麼。也給我們輸入,預期輸出,任何錯誤。 –

回答

2

也許像我這樣的新手一些會發現這個解決方案,我終於找到有用:

procedure Tform1.addCat (kategorija : string); 
var 
    Doc: IXMLDocument; 
    data: IXMLNode; 
    xmlNode : IXMLNode; 
    newCat : IXMLNode; 
begin 
    Doc := LoadXMLDocument('Project1.XML'); 
    data := Doc.DocumentElement; 
    xmlNode := data.ChildNodes.FindNode('Kategorijos'); 
    newCat := xmlNode.AddChild('cat1'); 
    newCat.Text := kategorija; 
    Doc.SaveToFile('Project1.XML'); 
end;