如果我要使用XML文件来存储一些信息,我是否需要一个读取/写入数据的XML解析器?我可以使用字符串操作函数吗?为什么不呢?使用XML文件存储数据
5
A
回答
5
你可以想象使用字符串操作函数,因为这是XML库最终使用的。 XML文档只是特殊格式的长字符串。但是,除非您对XML有所了解(以及什么是和不是有效的XML),否则现在使用XML解析器/序列化器将为您节省很多麻烦。 XML(名称空间,转义序列等)有细微差别,这些问题会导致本地代码中的问题不知如何正确处理它们。当你处理完所有特殊情况之后,无论如何你都会有效地写出一个半分析的XML解析器。
4
不要......我重复......不要手动解析或构建XML。
在我的工作中,我们在不同的供应商之间实现了很多接口。我无法告诉你我们有多少次在基于xml的界面上工作,并且遇到了某种转义编码/解码问题。我连接到基于xml的服务时将运行的第一个测试之一是在输入中添加非法的xml字符。
你叫什么名字?:鲍勃<> &“
错误解析XML文档
我们遇到了很多次了,如果我们的任何工程师检查有相近之处:!
xml = "<rootnode>" xml += "<leafnode>" + someValue + "</leafnode>" xml += "</rootnode>"
我们会认真考虑他们的对接可变薪酬只要“someValue中”包含非法字符,你pooched那么你的代码开始看起来像这样:。
xml = "<rootnode>" xml += "<leafnode>" + XmlEscape(someValue) + "</leafnode>" xml += "<leafnode>" + XmlEscape(someValue) + "</leafnode>" xml += "</rootnode>"
然后东西还在吹起来,这样的天才工程师尝试:
xml = "<rootnode>" xml += "<leafnode>" + XmlEscape(someValue) + "</leafnode>" xml += "<leafnode>" + XmlEscape(someValue) + "</leafnode>" xml += "</rootnode>" xml = XmlEscape(xml)
注:这个过程实际上发生在我身上两次在接口上工作时。
您知道它之前,通过线路的流结束看起来像
&lt;rootnode>HELP<rootnode> &lt;rootnode>ME&lt;rootnode&gt;
摘要:
请使用图书馆。 k thx再见。
0
我们可以用tinyXml2,使我们的工作更容易,只包括头和tinyxml2的CPP文件,你几乎完成分析和编写。请找到文档和手册在
相关问题
- 1. 使用XQuery将xml文件存储到eXist xml数据库中
- 2. 在数据库中存储XML文件
- 3. Web场+ XML文件的数据存储
- 4. Android数据存储在XML文件
- 5. 存储转化成XML使用XML文件中的XML文件
- 6. 如何使用JavaScript将数据存储在xml文件中?
- 7. 如何使用C#在SQL数据库中存储XML文件?
- 8. 存储XML数据以用于插件
- 9. 存储XML数据
- 10. 读取XML文件并将数据存储到mysql数据库
- 11. 在数据库vs文件系统上存储xml文件
- 12. C#中的数据源内存和存储到XML文件
- 13. 存储数据和文件
- 14. 文件数据存储
- 15. Android数据存储在xml
- 16. 存储XML数据集2000
- 17. 使用VAR保存XML标签数据到XML文件
- 18. 将数组存储到xml文件中
- 19. 将数据存储在文本文件或xml中
- 20. 初学者 - 通过XML或文本文件存储数据
- 21. 如何从存储插件的xml文件中读取数据?
- 22. 使用python将数据库数据存储到json文件中
- 23. 使用python将数据从xml存储到数据库
- 24. AS3 - 如何在XML文件中存储和使用数组
- 25. 如何使用linq to sql在xml列中存储xml文件?
- 26. 用于存储数据的JSON文件
- 27. 将XML用于数据存储
- 28. 我们可以使用Javascript将HTML表单数据存储到XML文件吗?
- 29. GWT应用程序的数据存储位置 - GAE数据存储区或XML文件
- 30. 在SQLite数据库中存储XML/HTML文件 - 可能吗?
是什么库用于XML?有没有建立或标准的图书馆? – 2012-02-14 08:14:16
在Java中,它们是库,在Ruby中是宝石。假设Java,继续到Apache网站并查看他们的工具。 – Thufir 2012-03-26 12:14:34