Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA/JAXB在解组时应用多个名称空间_Java_Xml_Jaxb - Fatal编程技术网

JAVA/JAXB在解组时应用多个名称空间

JAVA/JAXB在解组时应用多个名称空间,java,xml,jaxb,Java,Xml,Jaxb,我有一个xml,我正在尝试解组。它失败,因为它缺少所需的命名空间 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <tracks> <tracklet><sightings/></tracklet> <tracks> 问题中的NamespaceFilter没有添加名称空间声明,而是调整元素限定名称的名称空间部分 对于XML,只需调整NamespaceFil

我有一个xml,我正在尝试解组。它失败,因为它缺少所需的命名空间

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tracks>
  <tracklet><sightings/></tracklet>
<tracks>
问题中的NamespaceFilter没有添加名称空间声明,而是调整元素限定名称的名称空间部分

对于XML,只需调整NamespaceFilter,使其仅在qname参数为tracks时返回名称空间

以下是指向我的博客文章的链接,其中的NamespaceFilter来自:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:tracks xmlns:ns3="http://www.mytrack.com/TRACK" xmlns:xmime="http://www.w3.org/2005/05/xmlmime">
  <tracklet><sightings/></tracklet>
</ns3:tracks>
public class NamespaceFilter extends XMLFilterImpl {

    private static final String NAMESPACE = "http://www.example.com/customer";

    @Override
    public void endElement(String uri, String localName, String qName) throws SAXException {
        super.endElement(NAMESPACE, localName, qName);
    }

    @Override
    public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
        super.startElement(NAMESPACE, localName, qName, atts);
    }
}
@Override
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException {
    if("tracks".equals(qname) {
        super.startElement(NAMESPACE, localName, qName, atts);
    } else {
        super.startElement(uri, localName, qName, atts);
    }
}