Tag: xml

JAXB如何推进XMLStreamReader?

我正在使用JAXB使用XMLStreamReader从非常大的XML文件解组对象。 如果我解组的XML元素是分开的(通过换行符或甚至单个空格),这可以正常工作。 如果我解组的XML元素之间没有空格,那么我就会丢失所有其他项目 – XML阅读器似乎会在取消编组之后吞下该元素。 简化的可运行示例的源代码可以在https://gist.github.com/dalelane/88df784c3cb74b214d5c上进行演示。 有趣的是: XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(inputStream); JAXBContext context = JAXBContext.newInstance(MyJAXBClass.class); Unmarshaller unmarshaller = context.createUnmarshaller(); boolean running = true; while (running){ switch (reader.next()){ case XMLStreamConstants.START_ELEMENT: if (reader.getLocalName().equals(“myunmarshallobjname”)){ JAXBElement unmarshalledObj = unmarshaller.unmarshal(reader, MyJAXBClass.class); MyJAXBClass item = unmarshalledObj.getValue(); } break; case XMLStreamConstants.END_DOCUMENT: reader.close(); running = false; break; } } 每次流阅读器命中元素的开头时,我都会将它传递给unmarshaller以解组该片段。 如果我有XML,它可以工作: 但如果我有以下情况,则丢失物品: 我究竟做错了什么? […]

如何从servlet上下文中的jar文件中读取xml架构

我有一个maven库项目,有一些类来处理xml消息。 每当我收到其中一条消息时,我都会使用我编写的xml架构文件对其进行validation。 为我进行validation的代码如下所示: public static Document parseXML(final String xml) throws JDOMException, IOException { SAXBuilder builder = new SAXBuilder(“org.apache.xerces.parsers.SAXParser”, true); builder.setFeature(“http://apache.org/xml/features/validation/schema”, true); URL location = CMPMessage.getClass().getResource(XML_SCHEMA_LOCATION); if (null == location) { throw new IOException(“Unable to load schema definition file.”); } builder.setProperty(“http://apache.org/xml/properties/schema/external-schemaLocation”, “http://www.mycompany.de/MyProtocol ” + location); return builder.build(new StringReader(xml)); } 和XML_SCHEMA_LOCATION是这样的: private static final String XML_SCHEMA_LOCATION = […]

Java XPath评估返回类型

有没有办法确定XPath评估的返回类型是什么? 我希望XPath尽可能地匹配。 它应该匹配一个nodelist,如果不能,一个节点,如果不能,一个值。 有没有一种简单的方法在Java中实现它?

JAXB和complexType共享名称与其中一个元素生成不正确的代码

我有这个xsd有点坏,但我必须使用它来避免改变我正在编写的servlet的接口。 请求 – 响应接口的xsd包含以下行: … … 请注意名称冲突。 当我使用maven-jaxb-plugin从这个模式生成类时,我最终得到: Public class Foo { … public List getFoo() { … } … public static class Foo { … } } 当然,这无法编译,因为不允许在嵌套类和封闭类上使用相同的名称。 如果不更改xsd,我该怎么做才能解决这个问题? 我知道你可以通过在xsd中为jaxb添加标签来覆盖名称。 这样做安全吗? 它会对服务的界面产生影响吗?

GetMap()在Android上使用Google Maps API v2返回null

我在使用Google Maps API V2时遇到了一些问题。 我已经尝试了很多教程并搜索了许多答案(包括堆栈溢出),但我找到的所有内容都不起作用。 我可以用xml标签绘制一张地图。 没问题,它有效。 但是当我尝试在MainActivity.java获取地图时, getMap()返回null并且我不知道为什么。 MainActivity.java package com.example.testmaps; import android.app.Activity; import android.os.Bundle; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.MapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; public class MainActivity extends Activity { private GoogleMap mMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); //HERE mMap IS NULL mMap.addMarker(new MarkerOptions() .position(new LatLng(10, 10)) .title(“Hello […]

如何使用JAXB使类字段成为标记名称?

我正在使用Java和JAXB进行XML处理。 我有以下课程: public class Characteristic { private String characteristic; private String value; @XmlAttribute public String getCharacteristic() { return characteristic; } public void setCharacteristic(String characteristic) { this.characteristic = characteristic; } @XmlValue public String getValue() { return value; } public void setValue(String value) { this.value = value; } } public static void main(String[] args) { Characteristic c […]

java xml document.getTextContent()保持为空

我正在尝试在JUnit测试中构建一个xml文档。 doc=docBuilder.newDocument(); Element root = doc.createElement(“Settings”); doc.appendChild(root); Element label0 = doc.createElement(“label_0”); root.appendChild(label0); String s=doc.getTextContent(); System.out.println(s); 然而,文档保持空白(即println产生null 。)我不知道为什么会这样。 实际问题是后续XPath表达式抛出错误: Unable to evaluate expression using this context 。

JTidy Node.findBody() – 如何使用?

我正在尝试用JTidy进行XHTML DOM解析,这似乎是违反直觉的任务。 特别是,有一种解析HTML的方法: Node Tidy.parse(Reader, Writer) 为了获得该节点的,我认为,我应该使用 Node Node.findBody(TagTable) 我应该在哪里获得该TagTable的实例? (构造函数受到保护,我还没有找到工厂来生产它。) 我使用JTidy 8.0-SNAPSHOT。

Spring 3.0:“与元素类型”Z“相关联的属性”Y“的前缀”X“未绑定”

我的应用程序工作正常,直到今天早上,但我在今天早上重命名我的Netbeans 6.9项目后开始收到以下错误。 构建我的Spring 3.0.4应用程序时出现以下错误: The prefix “p” for attribute “p:driverClassName” associated with an element type “beans:bean” is not bound applicationContext.xml中: 的applicationContext安全: 上述错误导致此错误: Nov 24, 2010 10:52:54 AM org.springframework.web.context.ContextLoader initWebApplicationContext SEVERE: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘myEmf’ defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: No […]

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

我需要解析一堆传入的XML文档,但它不包含DTD声明。 目前我正在使用SAX Parser解析xml文档但没有DTDvalidation。 现在我想应用DTDvalidation。 DTD由我自己创建。 如何使用自己创建的DTD(SAX解析器)validationXML文件? 我找到了一些使用Transformer的教程,但都是针对DOM Parser的。 如何使用SAX Parser解析XML文件并应用DTDvalidation。 任何帮助……