Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Swift编辑和更新xml文件_Swift_Xml - Fatal编程技术网

如何使用Swift编辑和更新xml文件

如何使用Swift编辑和更新xml文件,swift,xml,Swift,Xml,我正在尝试将两个xml文件合并为一个新的xml文件。还可以在两个xml之间添加一行 我正在使用SWXMLHash pod解析我的xml文件。我已经有两个需要合并的xml变量。谢谢 var oldXML: XMLIndexer? var newXML: XMLIndexer? var combinedXML: XMLIndexer? func mergeEHR(oldXML: XMLIndexer, newXML: XMLIndexer) -> XMLIndexer { d

我正在尝试将两个xml文件合并为一个新的xml文件。还可以在两个xml之间添加一行

我正在使用SWXMLHash pod解析我的xml文件。我已经有两个需要合并的xml变量。谢谢

var oldXML: XMLIndexer?
var newXML: XMLIndexer?
var combinedXML: XMLIndexer?

func mergeEHR(oldXML: XMLIndexer, newXML: XMLIndexer) -> XMLIndexer {
        do {

            /// Don't know how to merge it.

        } catch {
            print(error)
        }
 }
我希望是这样

var combinedXML = 

<oldXML>
...
</oldXML>
xxxxxxxxxxXML Seperatorxxxxxxxxxx
<newXML>
 ...
</newXML>
由于组合的XML将不是有效的XML,即使它是,也无所谓,请将它们视为原始字符串:


然后,您可以再次将结果视为无效的XML等。

但这样它就不再是正确的XML了,为什么还要麻烦使用XML解析器呢?合并它们时,将它们视为两个普通文本文件。我正在使用服务器,如果有一种方法可以只执行xml而不是转换为字符串,为什么不呢?我不知道你是不是反对我的问题,但我在这里学习,所以我问问题。我查找了不同的网站,但问题找不到答案。@PanLin没有必要将它们视为XML或转换为字符串。创建一个新文件。按原样将第一个文件的内容复制到新文件。将分隔符写入新文件。然后按原样将第二个文件的内容复制到新文件中。完成。不需要解析任何东西。不,我没有否决投票,我不明白这与我的评论有什么关系,但我想补充一点,可能甚至不可能将它们视为xml,因为最终结果不是xml,但这当然取决于解析器是否/如何进行任何验证。
let oldXMLString = try! String(contentsOfFile: <#PathToOldXML#>) // If it is on the file, else assign it the way it should
let separator = "<xxxxxxxxxxXML Seperatorxxxxxxxxxx>"
let newXMLString = try! String(contentsOfFile: <#PathToNewXML#>) // If it is on the file, else assign it the way it should

let combinedXMLString = [oldXMLString, separator, newXMLString].joined(separator: "\n")
try! combinedXMLString.write(toFile: <#PathToDestinationOfTheCombinedXML#>, atomically: <#Bool#>, encoding: <#String.Encoding#>)