我使用Java后端创建传递给浏览器的XML字符串.目前我正在使用简单的字符串操作来生成此XML.我是否必须在Java中使用一些XML库来生成XML字符串?我觉得这些库与我需要的相比很难使用.
这不是必要的,但是可取的.但是,如果字符串操作适合您,那就去吧!在很多情况下,可以手动安全地构建小型或简单的XML文本.
请注意,创建XML文本比看起来更难.这是我要考虑的一些标准:
第一:你对进入xml的信息有多少控制?
您对源数据的控制越少,您遇到麻烦的可能性就越大,并且库变得越有利.例如:(a)您能否保证元素名称永远不会有名称中的非法字符?(b)属性内容中的引号怎么样?他们会发生,你在处理它们吗?(c)数据是否包含可能需要编码为实体的任何内容(例如,通常需要输出的数据小于<); 你做得对吗?
第二,可维护性:构建XML的代码是否易于被其他人理解?
你可能不想被生活中的代码所困扰.我使用过手工构建XML的二手C++代码,它可能令人惊讶地模糊不清.当然,如果这是你的个人项目,那么你不必担心"其他人":用"一年"代替上面的"其他人".
我不担心性能.如果您的XML足够简单,您可以手写它,那么库中的任何开销都可能毫无意义.当然,您的情况可能有所不同,但您应该先测量以证明它.
最后,是; 如果它足够简单,你可以手工构建XML文本; 但不知道可用的库可能不是正确的原因.
现代XML库是一个非常强大的工具,但它也可能令人生畏.但是,学习XML库的基本知识并不是那么难,而且它可以非常方便; 除此之外,它几乎是当今就业市场的必需品.在获得必需品之前,不要陷入名称空间,模式和其他更高级功能的困境.
祝好运.
Xml很难.解析自己是一个坏主意,自己生成内容甚至更糟糕.看看Xml 1.1规范.
你必须处理诸如正确的编码,属性编码(例如,产生无效的xml),正确的CDATA转义,UTF编码,自定义DTD实体之类的事情,并且没有使用默认/空命名空间,命名空间属性抛出混合xml命名空间等
学习一个工具包,有很多可用的.