Tag: 名称空间

将名称空间设置为@XmlRootElement时,解组失败且没有错误

我创建了一个JAXB对象,我正在尝试将xml字符串解组到其中。 我面临的问题是,当我将namespace属性放在@XmlRootElement和我发送的xml文档中时, JAXB对象将被创建,但它是空的。 如果我删除命名空间它的工作原理。 所以这就是我的意思 我的JAXB对象: @XmlRootElement(name = “incident”, namespace = “http://www.ba.com/schema/BAserviceDeskAPI/incident”) @XmlAccessorType(XmlAccessType.FIELD) public class Incident { @XmlElement private String eventTitle; public Incident() { } public String getEventTitle() { return eventTitle; } public void setEventTitle(String eventTitle) { this.eventTitle = eventTitle; } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append(“Incident [“); builder.append(“eventTitle=”); builder.append(eventTitle); […]

如何使C#名称空间像Java包一样工作,以便在移动它们时自动重命名?

我来自Java,看到Java中的包非常方便。 将类移动到另一个包时,它将自动更改包。 (当然,由Eclipse或Netbean等IDE) 但是C#正在使用命名空间,并且没有像在Java中那样自动重命名我的命名空间。 例如,我有一个文件名,其命名空间是com.app ,我将它放在com.app ,但是稍后,我将此文件移动到com.lib文件夹,其命名空间仍然是com.app 。 因此,我发现这很难管理,因为我正在手动移动它。 请帮我解决我的问题。 (文件的命名空间由它包含的文件夹命名,当我移动到其他文件时,我会自动更改)。 我们能做到吗?

如果在SAX中设置setNamespaceAware(true),如何获取“xmlns:XXX”属性?

这是我的代码: path = wsdlPath; SAXParserFactory saxfac = SAXParserFactory.newInstance(); saxfac.setNamespaceAware(true); saxfac.setXIncludeAware(true); saxfac.setValidating(false); SAXParser saxParser = saxfac.newSAXParser(); saxParser.parse(wsdlPath, this); 在设置setNamespaceAware=true ,我无法在方法public void startElement(String uri, String localName, String qName, Attributes attributes)参数attributes中获取xmlns:XXX属性。 对于以下节点: 我只获取name和targetNamespace属性。 xmlns , xmlns:wsdl , xmlns:mime , xmlns:http和xmlns:tns在attributes参数中。 但他们无法访问。 有没有办法使用setNamespaceAware=true并获取节点的所有属性?

忽略名称空间的JAXB解组将元素属性转换为null

我正在尝试使用JAXB将xml文件解组为对象,但遇到了一些困难。 实际项目在xml文件中有几千行,所以我在较小的范围内重现了错误,如下所示: XML文件: 用于生成JAXB类的XSD文件 代码段1: final JAXBContext context = JAXBContext.newInstance(CatalogueType.class); um = context.createUnmarshaller(); CatalogueType ct = (CatalogueType)um.unmarshal(new File(“file output address”)); 这引发了错误: javax.xml.bind.UnmarshalException: unexpected element (uri:”x-schema:TamsDataSchema.xml”, local:”catalogue”). Expected elements are at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:642) at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:247) at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:242) at com.sun.xml.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:116) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext$DefaultRootLoader.childElement(UnmarshallingContext.java:1049) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:478) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:459) at com.sun.xml.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:148) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source) at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at […]

XML SAX:在一个示例XML文件中解释`qName`和`localName`的结果

我正在测试如何使用SAXParser并了解其组件。 这是我用来测试的XML文件: NASA Image of the Day http://www.nasa.gov/multimedia/imagegallery/index.html The latest NASA “Image of the Day” image. en-us http://blogs.law.harvard.edu/tech/rss yvette.smith-1@nasa.gov brian.dunbar@nasa.gov Expedition 30 Cosmonauts Perform Spacewalk http://www.nasa.gov/multimedia/imagegallery/image_feature_2181.html This image of Russian cosmonauts Oleg Kononenko and Anton Shkaplerov, both Expedition 30 flight engineers, was taken during a spacewalk on Thursday, Feb. 16, 2012. During the six-hour, 15-minute […]

Jaxb:在同一个包中解组带有多个名称空间的xml

我是新手在xml中使用命名空间,所以我有点困惑,想要一些澄清。 我有一个java服务,我接收带有许多不同命名空间的xml文档,当我使用它时,我觉得我一定做错了所以我想检查。 在我的package-info.java中,我有我的模式注释,例如: @javax.xml.bind.annotation.XmlSchema( xmlns={ @javax.xml.bind.annotation.XmHS(prefix=”train”, namespaceURI=”http://mycompany/train”), @javax.xml.bind.annotation.XmHS(prefix=”passenger”, namespaceURI=”http://mycompany/passenger”) }, elementFormDefault = javax.xml.bind.annotation.XmlNsForm=QUALIFIED ) 我在类级别上有一个Train.java注释: @XmlRootElement(name=”Train”, namespace=”http://mycompany/train”) 并且类中的每个字段都注释为: @XmlElement(name=”Color”) for example 火车包含一个乘客名单,所以有一个属性 private Set passengers; 此集合注释为: @XmlElementWrapper(name=”Passengers”) @XmlElements(@XmlElement(name=”Passenger”, namespace=”http://mycompany/passenger”)) 然后在Passenger.java中,类本身注释为: @XmlElement(name=”Passenger”, namespace=”http://mycompany/passenger”) 最后,对于Passenger.java中的各个字段,它们的注释如下: @XmlElement(name=”TicketNumber”, namespace=”http://mycompany/passenger”) 所以当我有一个看起来像这样的xml: Red T101 现在我解组我收到的这个xml并设置了Train的Color属性并设置了Passenger的TicketNumber属性。 但是我不知道为什么我需要在TicketNumber上的XmlElement注释上添加名称空间url才能使用它,但我不需要为Train上的Color属性执行此操作。 如果我从TicketNumber上的XmlElement注释中删除namespace属性,则xml中的值不会映射到该对象,除非我还从xml请求中删除了名称空间前缀。 我觉得因为我已经在XmlRootElement for Passenger上定义了namespace属性,所以我不应该为类中的每个字段都这样做,就像我没有为Train一样,所以我假设我必须设置错误。 有人能指出我正确的方向吗? 谢谢!

使用Java中的命名空间创建XML文档

我正在寻找可以构造使用命名空间的XML文档的示例Java代码。 我似乎无法使用我喜欢的常用工具找到任何东西,所以希望有人可以帮助我。

JAXB解组使用名称空间和前缀

我正在使用JAXB来解析SOAP响应中的xml元素。 我已经为xml元素定义了POJO类。 我已经测试了没有命名空间的pojo类,并且前缀工作正常。但是当我尝试使用命名空间解析并且前缀面向以下exception时。要求解析SOAPMessage对象的输入 javax.xml.bind.UnmarshalException: unexpected element (uri:”http://schemas.xmlsoap.org/soap/envelope/”, local:”Envelope”). Expected elements are 试图通过在package-info.java中为包创建@XMLSchema来修复,并将此文件放在包文件夹中。任何人都可以指导我前进吗? 提到这篇文章,但没有帮助我。 编辑:XMLSchema @javax.xml.bind.annotation.XmlSchema ( xmlns = { @javax.xml.bind.annotation.XmlNs(prefix = “env”, namespaceURI=”http://schemas.xmlsoap.org/soap/envelope/”), @javax.xml.bind.annotation.XmlNs(prefix=”ns3″, namespaceURI=”http://www.xxxx.com/ncp/oomr/dto/”) } ) package com.one.two; 提前致谢