我需要阅读较小的(最多几个MB,UTF-8编码的)XML文件,浏览各种元素和属性,或许修改一些并将XML再次写回磁盘(最好使用漂亮的缩进格式) .
什么是最符合我需求的XML解析器?有很多可供选择.我知道的有些是:
当然是JDK中的那个(我使用的是Java 6).我对Xerces很熟悉,但发现它很笨重.
建议?
在本教程中,我在代码中看到了DOM解析器的下面一行.
doc.getDocumentElement().normalize();
Run Code Online (Sandbox Code Playgroud)
为什么我们这样做正常化?
我读了文档,但我听不懂.
将所有Text节点放在此Node下面的子树的完整深度中
好的,那么有人可以告诉我(最好有图片)这棵树是什么样子的吗?
任何人都可以解释为什么需要规范化吗?
如果我们不规范化会发生什么?
我正在寻找像dom4j这样的东西,但没有dom4j的瑕疵,例如文档不好或丢失,看似停滞的开发状态.
背景:我一直在使用和 提倡 dom4j,但是我觉得它并不完全正确,因为我知道这个库远非最佳(例如:看看XSLT相关样式表类中的方法是如何记录的;你会传递什么来运行( )作为String mode参数?)
要求:与使用 纯JDK(javax.xml和org.w3c.dom包)时相比,库应该使基本的XML处理更容易.这样的事情:
我真的很喜欢dom4j所承诺的,实际上:" 易于使用的开源库,用于处理XML,XPath和XSLT [...],完全支持DOM,SAX和JAXP. "即将推出的dom4j 2.0确实声称能解决所有问题:充分利用Java 5并添加缺少的文档.但不幸的是,如果你仔细观察:
警告:dom4j 2.0处于pre-alpha阶段.它很可能无法编译.如果它可以随机编译,很可能无法运行.如果它偶尔运行,它可能会突然爆炸.如果要使用dom4j,则需要1.6.1版.真.
......并且网站已经说了很长时间了.那么有没有一个很好的替代dom4j?请为您的首选库提供一些理由,而不是仅仅转储名称和链接.:-)
在Java中,如何将表示XML片段的String转换为XML文档?
例如
String newNode = "<node>value</node>"; // Convert this to XML
Run Code Online (Sandbox Code Playgroud)
然后将此节点作为给定节点的子节点插入org.w3c.dom.Document中?
我有XML的小字符串,如:
String myxml = "<resp><status>good</status><msg>hi</msg></resp>";
Run Code Online (Sandbox Code Playgroud)
我想查询以获取其内容.
最简单的方法是什么?
我正在寻找可以构造使用命名空间的XML文档的示例Java代码.我似乎无法使用我喜欢的常用工具找到任何东西,所以希望有人可以帮助我.
我不需要阅读复杂的XML文件.我只想用最简单的XML阅读器阅读以下配置文件
<config>
<db-host>localhost</db-host>
<db-port>3306</db-port>
<db-username>root</db-username>
<db-password>root</db-password>
<db-name>cash</db-name>
</config>
Run Code Online (Sandbox Code Playgroud)
如何通过Java使用XML阅读器阅读上述XML文件?
如何将XML转换为POJO,反之亦然?axis2提供这种能力吗?或者java已经具有内置功能吗?或任何其他框架?谢谢
java ×9
xml ×9
xom ×2
dom ×1
dom4j ×1
namespaces ×1
parsing ×1
pojo ×1
string ×1
xmldocument ×1