Tag: xml

如何通过StAX修改巨大的XML文件?

我有一个巨大的XML(~2GB),我需要添加新元素并修改旧元素。 例如,我有: …. … …. 并希望得到: …. … …. 我使用了以下代码: XMLInputFactory inFactory = XMLInputFactory.newInstance(); XMLEventReader eventReader = inFactory.createXMLEventReader(new FileInputStream(file)); XMLOutputFactory factory = XMLOutputFactory.newInstance(); XMLStreamWriter writer = factory.createXMLStreamWriter(new FileWriter(file, true)); while (eventReader.hasNext()) { XMLEvent event = eventReader.nextEvent(); if (event.getEventType() == XMLEvent.START_ELEMENT) { if (event.asStartElement().getName().toString().equalsIgnoreCase(“book”)) { writer.writeStartElement(“index”); writer.writeEndElement(); } } } writer.close(); 但结果如下: …. …. …. 有任何想法吗?

不使用new运算符实例化对象

在一次Java访谈中,提出以下问题: 在java中有没有一种方法来实例化一个对象而不使用new运算符? 我回答他说没有其他的实例化方法。 但是他问我如何使用java中的xml文件(在spring框架中)中的配置来实例化java中的对象。 我说,内部弹簧使用reflection utils来创建一个带有new操作符的对象。 但面试官并不相信我的回答。 我看到这个链接很有用但是有一个new操作符间接涉及一个或另一个内部方法。 有没有办法在不使用new运算符的情况下在java中实例化对象?

java 8中的漂亮打印XML

我有一个XML文件存储为DOM文档,我想将它打印到控制台,最好不使用外部库。 我知道这个问题已在本网站上被多次询问,但以前的答案都没有对我有用。 我正在使用java 8,所以也许这是我的代码与以前的问题不同的地方? 我还尝试使用从网络上找到的代码手动设置变换器,但这只是导致not found错误。 这是我的代码,它当前只是在控制台左侧的新行上输出每个xml元素。 import java.io.*; import javax.xml.parsers.*; import javax.xml.transform.*; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.xml.sax.InputSource; import org.xml.sax.SAXException; public class Test { public Test(){ try { //java.lang.System.setProperty(“javax.xml.transform.TransformerFactory”, “org.apache.xalan.xsltc.trax.TransformerFactoryImpl”); DocumentBuilderFactory dbFactory; DocumentBuilder dBuilder; Document original = null; try { dbFactory = DocumentBuilderFactory.newInstance(); dBuilder = dbFactory.newDocumentBuilder(); original = dBuilder.parse(new InputSource(new InputStreamReader(new FileInputStream(“xml […]

JDK 1.6和Xerces?

在我当前的项目中,我们的目标是JDK 1.6 Runtime环境。 对于传统rasons,Xerces JAR文件捆绑在应用程序中。 这些不再需要了吗? JDK(有一段时间)在JDK中捆绑了XML解析库吗?

如何在java中的某个元素之后/之前将元素插入到xml中

这是我的代码,也许你会马上注意到我缺少的东西: DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = domFactory.newDocumentBuilder(); Document doc = builder.parse(fileName)); XPathFactory factory = XPathFactory.newInstance(); XPath xpath = factory.newXPath(); XPathExpression expr = xpath.compile(“//CustomerId”); Object result = expr.evaluate(doc, XPathConstants.NODESET); Nodelist nodes = (NodeList) result; Text a = doc.createTextNode(“value”); Element p = doc.createElement(“newNode”); p.appendChild(a); for (int i = 0; i < nodes.getLength(); i++) { nodes.item(i).insertBefore(p, […]

是否有工具通过Java从XML模式生成JSON模式?

是否有人知道我们可以通过Java从XML模式或XML模式生成JSON模式的工具或方法?

在JAVA中解析大型XML文档

我有以下问题: 我有一个XML文件(大约1GB),并且必须上下迭代(即不顺序;一个接一个),以获得所需的数据并对其进行一些操作。 最初,我使用了DOM Java包,但显然,在解析XML文件时,JVM会达到其最大堆空间并停止。 为了克服这个问题,我提出的解决方案之一是找到另一个迭代XML中每个元素的解析器,然后将它的内容存储在硬盘上的临时SQLite数据库中。 因此,通过这种方式,不会超出JVM的堆,并且一旦填满所有数据,我就会忽略XML文件并继续对临时SQLite数据库执行操作。 还有另一种方法可以解决我的问题吗?

Java XStream库的现代替代品?

我多年前使用过XStream,但我发现自2008年以来这些库没有更新( 最新消息 )。 现在是否有更现代化和最新的Java XML序列化库?

localname和qname有什么区别?

当使用SAX解析Java中的XML文件时,SAX方法中的参数localname和qname之间的区别是什么,例如startElement(String uri, String localName,String qName, Attributes attributes) ?

如何在Java中将xml元素及其子节点转换为String?

您好我想将XML节点及其子节点转换为具有节点名称的字符串。 例如,我从XML文档中获取一个节点,如下所示: *86 *86 *80 0 我想将整个节点转换为字符串。 使用nodenames,不仅是文本。 非常感谢在这方面的任何帮助。 谢谢。