草庐IT

java - 修复 XML 文件中的错误编码

我们的一个提供商有时会发送标记为UTF-8编码文档但包含未包含在UTF-8字符集中的字符的XML提要。这会导致解析器在遇到这些字符时抛出异常并停止构建DOM对象:DocumentBuilder.parse(ByteArrayInputStreambais)抛出以下异常:org.xml.sax.SAXParseException:Invalidbyte2of2-byteUTF-8sequence.有没有办法及早“捕获”这些问题并避免异常(即从流中查找和删除这些字符)?我正在寻找的是针对错误编码文档的“尽力而为”类型的回退。正确的解决方案显然是从源头上解决问题并确保只交付正确的文档,但如果

java - 告诉 SAX 解析器忽略无效字符?

SAX因以下异常而不断死亡:Invalidbyte2of3-byteUTF-8sequence问题是它大部分是正确的UTF-8编码,但其中有一些错误。我们无法获得该文件的新版本,我们必须使用该文件。那么我们如何告诉SAX忽略无效的字符序列,或者清理UTF-8文件以使其不包含无效的UTF-8序列? 最佳答案 您可以在SAX读取流之前对其进行过滤。创建一个InputStream来读取您的流并丢弃无效字符。 关于java-告诉SAX解析器忽略无效字符?,我们在StackOverflow上找到一

.net - .NET 是否有向后的 XML 解析器?

在我的应用程序中,我对XML字符串有一个已知的兴趣偏移量,并且想回答诸如“我的父元素是什么?”之类的问题。无需解析整个文档。这article提到了一个似乎在Objective-C中用于“向后”XML解析的库。我的应用程序不需要完整的XML支持,所以我很乐意忍受所有关于无法完全可靠地解析的警告。C#/.NET有这样的东西吗?澄清:我不是在询问一般的解析解决方案或性能权衡,我对特定情况感兴趣,在这种情况下,我正处于文本流的中途,只需要了解一些有关本地结构的信息。想象一下我不想获取文档顶部的情况,因为访问具有非常高的延迟。 最佳答案 如果

java - 对元素的 DOM 属性序列进行排序

这个问题在这里已经有了答案:OrderofXMLattributesafterDOMprocessing(12个答案)关闭8年前。这个问题之前在stackoverflow中被问过:settingorderofattributes真的不可能吗?使用insertBefore我想对元素的属性序列进行排序。具体来说,在下面的示例中,如何更改属性的顺序?只使用setAttribute会更容易吗?从一个节点?在任何一种情况下,顺序似乎都是自动发生的,尽管insertBefore肯定意味着可以指定顺序。代码:packagexml;importjava.io.FileWriter;importjava

java - java中的xml dom解析器?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion谁能分享一下java中dom解析器的好文档。谢谢

java - 在 JDOM/DOM 中禁用 XML 实体解析

我正在编写一个用于XML文件后处理的Java应用程序。这些xml文件来自SemanticMediawiki的RDF-Export,因此它们具有rdf/xml语法。我的问题如下:当我读取xml文件时,文件中的所有实体都解析为Doctype中指定的值。例如在我的Doctype中..]>在根元素中这意味着成为我尝试过使用JDOM和标准JavaDOM。我认为这里相关的代码是针对标准DOM的:DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();factory.setExpandEntityReferences(fa

iphone - 使用 GDataXMLDocument 解析 xml 属性

如何使用GDataXMLDocument解析xml属性?我有一个xml字符串作为NSData(命名为xmlData)Raju25然后我读了它:NSError*error;GDataXMLDocument*doc=[[GDataXMLDocumentalloc]initWithData:xmlDataoptions:0error:&error];if(doc==nil){return;}//NSArray*partyMembers=[doc.rootElementelementsForName:@"Player"];NSArray*partyMembers=[docnodesForXPa

java - 用于 Java 的小型、简约和快速的 XML 库?

有时我需要解析XML文件-并且只解析,我不想通过String.indexOf手动执行此操作。所以我需要使用可能最小和快速的XML解析库。不幸的是,我不知道任何类似于GSON(180kb)的东西。我已经导入了dom4j,但是之后我得到了异常:java.lang.NoClassDefFoundError:org/jaxen/JaxenException所以我添加了jaxen依赖项(maven),这是非常令人震惊的体验:添加了大约7MB的依赖项,其中最大的是xercesImpl和icu4j.另一个猜测是Jericho,但这主要是为解析格式错误的HTML而设计的,而且它超过2MB-肯定会有更小

xml - 使用什么算法根据 XSD 验证 XML?

我正在编写自己的验证XML解析器。(是的,我知道这是一项非常复杂的任务,使用libxml2或Xerces等现有产品将是更明智的选择。但这不是一个选择,所以请多多包涵。)将XML和XSD文件解析为树结构应该不是很困难。但是,我似乎无法弄清楚要使用什么算法来根据XSD验证XML树。我做了一些研究,但我发现的所有内容要么过于笼统(如何编写编译器等),要么过于具体(例如增量验证)。我有一些自己的想法,但它们都相当复杂,所以我真的很想在开始编码之前更加确定我的想法的有效性(无双关语)。在此先致谢,如果您认为可以提供帮助,请随时询问更多详情! 最佳答案

java - 我应该从哪里下载什么 jar 文件?

importjavax.xml.parsers.DocumentBuilderFactory;importjavax.xml.parsers.DocumentBuilder;importorg.w3c.dom.Document;importorg.w3c.dom.NodeList;importorg.w3c.dom.Node;importorg.w3c.dom.Element;importjava.io.File;我想使用上面的内容。那么,我应该从哪里下载什么jar文件?? 最佳答案 javax.xml、org.w3c和java.i