草庐IT

InputSource

全部标签

java - 使用 Android SAXParser,我的 XML 元素神秘地分成两半

它不是'&'我使用SAXParser对象来解析实际的XML。这通常是通过将URL传递给XMLReader.Parse方法来完成的。因为我的XML来自对Web服务的POST请求,所以我将该结果保存为字符串,然后使用StringReader/InputSource将该字符串反馈给XMLReader.Parse方法。但是,在XMLstring的第2001个字符处发生了一些奇怪的事情。文档处理程序的“字符”方法在startElement和endElement方法之间被调用两次,有效地将我的字符串(在本例中为项目标题)分成两部分。因为我在我的字符方法中实例化对象,所以我得到了两个对象而不是一个。

android - 将 String 或 InputStreamReader 转换为 InputSource

我刚刚阅读了一些教程,以便从web解析xml提要并将它们转换为Listview:URLfile=newURL("http://..../file.xml");SAXParserFactoryfabrique=SAXParserFactory.newInstance();SAXParserparseur=fabrique.newSAXParser();XMLReaderxr=parseur.getXMLReader();ReglageParseurgestionnaire=newReglageParseur();xr.setContentHandler(gestionnaire);xr.

java - 为什么在文件包含特殊 UTF-8 字符时使用 InputSource 修复 SAX 解析器

我正在寻求解释,当我的XML文件中有一些特殊的UTF-8字符时,为什么我的SAX解析器会失败。为了解析XML文件,我使用Documentdoc=builder.parse(inputSource);但是,当我使用inputSource时,它工作正常:DocumentBuilderbuilder=factory.newDocumentBuilder();InputStreamin=newFileInputStream(file);InputSourceinputSource=newInputSource(newInputStreamReader(in));Documentdoc=buil

java - UTF-16 编码

JaniALOKAshuTosh我的XML解析器仅支持UTF-8编码,否则它会给出SAX解析器异常。如何将UTF-16转换为UTF-8? 最佳答案 在那种情况下,它不是您正在使用的XML解析器,请参阅section2.2ofthexmlspecification:AllXMLprocessorsMUSTaccepttheUTF-8andUTF-16encodingsofUnicodeJavaxml解析器通常接收包装在InputSource中的输入目的。这可以用一个Reader参数来构造,该参数对给定的字符集进行字符解码。InputS

java - InputSource 和 InputStream 有什么区别?

这个问题在这里已经有了答案:Java(JAXP)XMLparsingdifferencesofDocumentBuilder(1个回答)关闭8年前。我在解析xml的时候使用InputSource和InputStream有什么区别。我在一些教程中看到了这两个示例没有输入源:InputStreamis;DocumentBuilderFactorydbFactory=DocumentBuilderFactory.newInstance();DocumentBuilderdb=dbFactory.newDocumentBuilder();Documentdocument=db.parse(is

java - 如何将 InputStream 转换为 InputSource?

全部,我写了一个简单的SAXXML解析器。它有效,我正在使用本地XML文件对其进行测试。这是我的代码:SAXParserFactoryspf=SAXParserFactory.newInstance();XMLParserxmlparser=null;try{SAXParserparser=spf.newSAXParser();XMLReaderreader=parser.getXMLReader();xmlparser=newXMLParser();reader.setContentHandler(xmlparser);reader.parse(newInputSource(getR

java - 动态生成 java 源代码(没有 xjc)

有没有人设法在没有XJC的情况下从JAXB模式文件生成Java代码?有点像JavaCompilerjavaCompiler=ToolProvider.getSystemJavaCompiler()用于即时动态编译java代码。注意:在JDK6上运行,这意味着com.sun.*工具包已被弃用(感谢BlaiseDoughan的提示) 最佳答案 我必须包含一些J2EE库才能使我的解决方案正常工作,因为独立的JDK6不提供对xjc实用程序类的访问权限:importcom.sun.codemodel.*;importcom.sun.tools

android - 使用 dom 和特殊字符解析 XML

我正在尝试解析包含外文字母(特别是æøå)的xml,但是我在成功解析它们时遇到了问题。我没有收到任何错误,但这些字母被解析为这样;我得到的不是æ,而是我得到的不是å,而是我得到的是Ã,而不是我得到的ø我也刚刚注意到char-没有正确显示。我意识到我可以为3个字母执行.replaceAll,但我不确定这里的问题是我在某处犯了错误,还是如果不沿着replaceAll的路线走就不可能。代码:privateDocumentgetDomElement(Stringxml){Documentdoc=null;DocumentBuilderFactorydbf=DocumentBuilderFact

java - 用于 UTF-8 或 ISO-8859-1 编码 XML 的动态 SAX 解析器

我正在为Android开发一个应用程序,我必须在其中解析不同的XML文件。其中大部分以UTF-8编码,但少数可能以ISO-8859-1编码。HttpURLConnectioncon=(HttpURLConnection)url.openConnection();...in=con.getInputStream();InputSourceis=newInputSource(in);...parser.parse(is,handler);我处理输入的代码如上所示。java文档说明了InputSource:Ifthereisnocharacterstream,butthereisabytes

java - 如何将本地 DTD 文件的验证应用于 java 中的 xml 文件?

我需要解析一堆传入的XML文档,但它不包含DTD声明。目前我正在使用SAX解析器解析xml文档,但没有进行DTD验证。现在我想应用DTD验证。DTD是我自己创建的。我如何使用自己创建的DTD(SAX解析器)验证XML文件?我找到了一些使用Transformer的教程,但都是针对DOMParser的。如何使用SAX解析器解析XML文件并应用DTD验证。任何帮助.... 最佳答案 下面是一个示例,我相信它可以帮助您完成您想要的操作:privatevoidloadXML(Readerreader)throwsParserConfigura
12