草庐IT

DocumentBuilder

全部标签

Java, XML DocumentBuilder - 解析时设置编码

我正在尝试将包含XML文档的树(扩展JTree)保存到已更改其结构的DOM对象。我已经创建了一个新的文档对象,遍历树并成功检索了内容(包括XML文档的原始编码),现在有一个ByteArrayInputStream,它具有正确编码的树内容(XML文档)。问题是当我解析ByteArrayInputStream时,编码自动更改为UTF-8(在XML文档中)。有没有办法防止这种情况并使用ByteArrayInputStream中提供的正确编码。还值得补充的是,我已经使用过transformer.setOutputProperty(OutputKeys.ENCODING,encoding)方法来

xml - 获取文档为 null [#document : null] After parsing XML in java using DocumentBuilder

解析文档后我得到空值,即使文档包含数据。这是我的代码,我已将所有验证设置为false。DocumentBuilderFactorydomFactory=DocumentBuilderFactory.newInstance();domFactory.setNamespaceAware(false);//neverforgetthis!domFactory.setCoalescing(false);domFactory.setValidating(false);domFactory.setFeature("http://xml.org/sax/features/namespaces",fa

java - 在内存中的 zip 中解析 XML

我有一个包含两个文件的Zip:一个XML和一个缩略图。我想打开XML文件并对其进行解析,而无需在磁盘上解压缩。DocumentBuilder的一个解析方法需要一个InputStream。有没有办法在压缩文件中获取XML的InputStream?我有点迷路了。我很确定ZipInputStream或ZipFile可以提供一些东西,但我想不通:/提前致谢! 最佳答案 我相信您正在寻找这样的东西:FileInputStreamfin=newFileInputStream("your.zip");ZipInputStreamzin=newZi

Java:LSParser 和 DocumentBuilder 有什么区别

我找不到关于org.w3c.dom.ls.LSParser的任何信息。我知道它是一个接口(interface),但只有一种方法可以获取具体对象afaik。DOMImplementationLSfactory=(DOMImplementationLS)myXMLDocument.getImplementation();LSParserparser=factory.createLSParser(DOMImplementationLS.MODE_ASYNCHRONOUS,null);LSParser与javax.xml.parsers.DocumentBuilder(或SAXParser)有

java - 使用 DocumentBuilder.parse 解析格式良好的 XML 时如何关闭验证?

我正在使用Java6。我想解析我知道格式正确的XHTML。因此,我不想对文档中引用的DTD或其他模式进行任何验证。但是,我无法弄清楚如何关闭该验证。我有DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();factory.setValidating(false);finalDocumentBuilderb=factory.newDocumentBuilder();finalInputSources=newInputSource(newStringReader(str));org.w3c.dom.Docume

java - 为什么 DocumentBuilder.parse() 不起作用

我已经阅读了几篇关于如何使用DocumentBuilder.parse()函数获取文档对象的文章。Documentdocument=builder.parse(newInputSource(newStringReader(xml)));返回[#document:null]我发现这并不一定意味着它是空的。然而,在仔细检查之后,我发现它实际上是空的。我正在构建Stringxml并使用了xmlvalidator,(并粘贴到eclipse和ctrl+shift+f以格式化它。这通常是我第一次尝试查看是否格式正确)以显示它是有效的xml。我决定分解parse()参数的每个部分,这样我就可以逐步检

Java(JAXP) DocumentBuilder的XML解析差异

有什么区别吗DocumentBuilder.parse(InputStream)和DocumentBuilder.parse(InputSource)?我只能发现对于第一种情况,解析器会从流中检测编码,因此它更安全,而在后者中我不确定是否需要设置编码。我应该注意的任何其他要点(例如性能)? 最佳答案 主要区别在于,第一个基于InputStream的实现,允许您仅从二进制源读取XML内容。界面。即:直接来自文件(使用FileInputStream)、打开的套接字(来自Socket.getInputStream())等。第二个,Docu

android - Intellij 12 maven library Android RestTemplate 麻烦处理javax/xml/parser/DocumentBuilder.class

我有一个带有intellij的Android项目在对话框SelectionProjectSettings->Libraries的应用程序模块上按F4,我添加了FromMavenorg.springframework.android:spring-android-auth:1.0.1.RELEASEorg.springframework.android:spring-android-core:1.0.1.RELEASEorg.springframework.android:spring-android-rest-template:1.0.1.RELEASE按OK将代码添加到我的应用程序但

java - DocumentBuilder.parse(InputStream) 返回 null

我正在修复有关DocumentBuilder.parse的现有代码的错误。我有以下代码:StringtheOutput;theOutput=response.encodeURL(prefix+"/include/sampleForConversion.jsp?"+request.getQueryString();StreamSourcexmlSource=newStreamSource(newURL(theOutput).openStream(),"http://sampleApps.net/static/dataDef1.1.dtd");DocumentxmlDoc=dBuilder

java - DocumentBuilder.parse(InputStream) 返回 null

我正在修复有关DocumentBuilder.parse的现有代码的错误。我有以下代码:StringtheOutput;theOutput=response.encodeURL(prefix+"/include/sampleForConversion.jsp?"+request.getQueryString();StreamSourcexmlSource=newStreamSource(newURL(theOutput).openStream(),"http://sampleApps.net/static/dataDef1.1.dtd");DocumentxmlDoc=dBuilder