【问题标题】:Delphi load XMLDelphi 加载 XML
【发布时间】:2023-04-01 09:51:03
【问题描述】:

我已经在谷歌上搜索了一段时间,但我找不到合适的例子。

我有带有 Node 的本地 XML

我的项目中有一个表格:

编辑1 |提交

我希望当用户点击提交 childNode 时在我的 XML 文件中创建类别。 喜欢:

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

编辑:

我的 .exe 目录 (/Win32/Debug/Project1.XML) 中有 Project1.XML 文件:

<Kategorijos>
</Kategorijos>

在我的表单中有一个输入字段 (Edit1) 和一个按钮 (Button1)

按钮点击程序应该加载 Project1.XML,找到 &lt;Kategorijos&gt; 并添加 childNode(&lt;cat1&gt;Edit1.Text&lt;/cat1&gt;),所以如果 Edit1 输入值等于“我的第一个类别”,它将看起来像这样。:

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

我使用 XE3。

【问题讨论】:

  • 对于一个模糊的问题,一个模糊的答案。通过使用OXML,你可以写something like this
  • 嗨 TLama,我已经根据您的示例 pastebin.com/0nrHdPKs 创建了一个过程,但我收到一个错误:找不到类 Txmldocument。
  • @user1804119 编辑您的问题并包含代码的相关部分。 “我有 Node 的本地 XML”什么也没说。还给我们输入、预期输出和任何错误。
  • 如果你得到任何组件的'class not found',你把光标放在里面,按Ctrl-F1,帮助会告诉你它是在哪个单元中声明的。然后将该单位放入您的 Uses 子句中。
  • 我对主帖进行了更改。现在应该很清楚了。

标签: xml delphi pascal


【解决方案1】:

也许像我这样的新手会发现这个我终于发现有用的解决方案:

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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多