Tag: xml

在Java中合并两个XML文件

我有两个类似结构的XML文件,我想合并成一个文件。 目前我正在使用本教程中遇到的EL4J XML合并 。 然而,它并没有像我预期的那样合并,主要的问题是它没有将两个文件合并成一个包含1,2,3和4的元素,而是只丢弃1和2或3和4取决于哪个文件被首先合并。 所以,如果能够告诉我我可能做错了什么,或者是否有人知道一个好的XML API for Java能够根据我的需要合并这些文件,我将不胜感激任何有过XML Merge经验的人。 很多感谢您的帮助提前 编辑: 真的可以做一些很好的build议做这个,所以增加了一个赏金。 我已经尝试了jdigital的build议,但仍然有与XML合并问题。 下面是我正在尝试合并的XML文件的结构types示例。 <run xmloutputversion="1.02"> <info type="a" /> <debugging level="0" /> <host starttime="1237144741" endtime="1237144751"> <status state="up" reason="somereason"/> <something avalue="test" test="alpha" /> <target> <system name="computer" /> </target> <results> <result id="1"> <state value="test" /> <service value="gamma" /> </result> <result id="2"> <state value="test4" /> <service value="gamma4" […]

Nokogiri / Xpath命名空间查询

我正在尝试使用xpath提取dc:title元素。 我可以使用下面的代码拉出元数据。 doc = <<END <?xml version="1.0" encoding="UTF-8"?> <package xmlns="http://www.idpf.org/2007/opf" version="2.0"> <metadata xmlns:dc="URI"> <dc:title>title text</dc:title> </metadata> </package> END doc = Nokogiri::XML(doc) # Awesome this works! puts '//xmlns:metadata' puts doc.xpath('//xmlns:metadata') # => <metadata xmlns:dc="URI"><dc:title>title text</dc:title></metadata> 正如你可以看到上述似乎正常工作。 但是,我似乎没有能够从这个节点树中获得标题信息,所有下面的失败。 puts doc.xpath('//xmlns:metadata/title') # => nil puts doc.xpath('//xmlns:metadata/dc:title') # => ERROR: `evaluate': Undefined namespace prefix puts doc.xpath('//xmlns:dc:title') # => ERROR: […]

XPATH查询中的特殊字符

我使用以下XPATH Query来列出站点下的对象。 ListObject[@Title='SomeValue'] 。 SomeValue是dynamic的。 只要SomeValue没有撇号('),此查询就可以工作。 尝试使用转义序列也。 没有工作。 我究竟做错了什么?

是否允许XML属性值中的换行符?

我意识到这不是优雅或想要的,但它允许(在格式良好的XML)的XML元素中的属性值跨越多行? 例如 <some-xml-element value="this value goes over…. multiple lines!" /> 是的,我意识到有更好的写作方式。 我会亲自把它写成: <some-xml-element> <value>this value goes over… multiple lines!</value> </some-xml-element> 要么: <some-xml-element value="this value goes over…. " /> 但是我们有我们自己的XMLparsing器,我想知道第一个例子是否允许在格式良好的XML中。

如何在AngularJS中处理XML服务?

我的公司有成千上万个现有的XML Web服务,并开始为新项目采用AngularJs。 http://angularjs.org/上的教程仅使用json服务。 看起来他们在控制器中进行服务调用,parsing生成的JSON,并将生成的对象直接传递给视图。 我该如何处理XML? 我看到四个选项: parsing它并直接将DOM对象传递给UI(视图)。 把我的XML服务在服务器端的JSON包装。 将DOM对象转换为JSON,并在客户端使用某个库,并在发出post / put请求时将其转换回来。 在客户端手动将DOM对象转换为JavaScript对象。 什么是正确的方法,为什么?

将SimpleXML对象转换为数组

我在这里遇到了将SimpleXML对象转换为数组的function: /** * function object2array – A simpler way to transform the result into an array * (requires json module). * * This function is part of the PHP manual. * * The PHP manual text and comments are covered by the Creative Commons * Attribution 3.0 License, copyright (c) the PHP Documentation Group * […]

.net XML序列化 – 存储引用而不是对象复制

在.Net / C#应用程序中,我有相互引用的数据结构。 当我序列化它们时.Net将所有引用与单独的对象副本序列化。 在下面的例子中,我试图序列化到'人' “人”可能会提及另一个人。 public class Person { public string Name; public Person Friend; } Person p1 = new Person(); p1.Name = "John"; Person p2 = new Person(); p2.Name = "Mike"; p1.Friend = p2; Person[] group = new Person[] { p1, p2 }; XmlSerializer ser = new XmlSerializer(typeof(Person[])); using (TextWriter tw = new […]

我应该为我的XML站点地图发送什么内容types值?

我以为我应该发送“文本/ XML”,但后来我读到,我应该发送“应用程序/ XML”。 有关系吗? 有人可以解释这个区别吗?

如何使用包含XSD的Java来validationXML文件?

我正在使用Java 5 javax.xml.validation.Validator来validationXML文件。 我已经完成了一个只使用导入的模式,一切正常。 现在我试图用另一个使用import和include的模式进行validation。 我遇到的问题是主模式中的元素被忽略,validation说它找不到它们的声明。 以下是我如何构build架构: InputStream includeInputStream = getClass().getClassLoader().getResource("include.xsd").openStream(); InputStream importInputStream = getClass().getClassLoader().getResource("import.xsd").openStream(); InputStream mainInputStream = getClass().getClassLoader().getResource("main.xsd").openStream(); Source[] sourceSchema = new SAXSource[]{includeInputStream , importInputStream, mainInputStream }; Schema schema = factory.newSchema(sourceSchema); 现在这里是main.xsd中声明的摘录 <xsd:schema xmlns="http://schema.omg.org/spec/BPMN/2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:import="http://www.foo.com/import" targetNamespace="http://main/namespace" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:import namespace="http://www.foo.com/import" schemaLocation="import.xsd"/> <xsd:include schemaLocation="include.xsd"/> <xsd:element name="element" type="tElement"/> <…> </xsd:schema> 如果我复制main.xsd中包含的XSD的代码,它工作正常。 如果我没有,validation不会find“元素”的声明。

如何将xsd转换为人类可读的文档?

我们有几个基于XML的接口,在XSD模式中有很好的logging。 接口现在将公开可用,我们想为它们创build参考文档。 有没有一种工具可以自动将XSD文件转换为更可读的格式?