gpt4 book ai didi

swift - 字符串之间带有标记的 XMLElement

转载 作者:搜寻专家 更新时间:2023-11-01 07:06:31 29 4
gpt4 key购买 nike

我正在创建一个 XML 文档并尝试在 XMLElement 之间插入标签,如下所示

let tEle = XMLElement.element(withName: "xuv") as? XMLElement
let segEle = XMLElement.element(withName: "seg") as? XMLElement
segEle?.stringValue = "Sample Text Here"
tuvEle?.addChild(segEle!)

这工作正常,但对于 segEle,我想在文本之间添加一些标签,如 "Sample Text <ph x="1" type="x-LPH"/> Here" ,如果我们注意到我需要在字符串之间插入“ph”标签。

仅供引用:我尝试插入 " <ph x=\"#\" type=\"x-LPH\"/> "字符串之间的文本但这在输出 xml 文件中不起作用 "ph"标记显示为 &lt;ph x="0" type="x-LPH"/&gt; OBLIGATOIRE &lt;ph x="1" type="x-LPH"/&gt; (如果我们注意到“<”被替换为“<”,“>”被替换为“>”)

谁能告诉我我们该如何处理。

最佳答案

尝试向后工程它应该是怎样的:检查 XMLElement(xmlString: "<seg>Sample Text <ph x=\"1\" /> Here") 的结果及其子项。

Sample Text <element/> Here
^^^^^^^^^^^^~~~~~~~~~~^^^^^
| | |
| | --------- Text node
| |
| ----- XMLElement
|
----------- Text node
  • XMLElement仅适用于标签;
  • XMLElement.addChild接受更通用的类型 XMLNode .
  • XMLNode.Kind可以是.text ,这就是您正在寻找的,而不是更简单的 stringValue .

因此您必须将简单的字符串值拆分为 3 个子节点:

  1. XMLNode.text(withStringValue: "Sample Text ") as? XMLNode
  2. XMLNode.element(withName: "Sample Text ") as? XMLElement
  3. XMLNode.text(withStringValue: " Here") as? XMLNode

然后将所有 3 个 child 添加到父注释中 segEle (不再需要 stringValue)。

关于swift - 字符串之间带有标记的 XMLElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47769118/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com