Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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 使用StAX以字符串形式获取完整的XML节点_Java_Xml_Stax - Fatal编程技术网

Java 使用StAX以字符串形式获取完整的XML节点

Java 使用StAX以字符串形式获取完整的XML节点,java,xml,stax,Java,Xml,Stax,在我的本地环境中,startElement.toString()以字符串形式返回整个xml节点,我可以将其导出到另一个xml文件。但在测试服务器中的行为不同 例如:我有一个包含以下内容的输入xml文件: <books> <book isbn="125141122">Book title</book> </books> 注:本地和服务器java版本相同(Java1.6) 您知道如何将完整的xml标记作为字符串吗?。记录节点的字符串表示可能

在我的本地环境中,
startElement.toString()以字符串形式返回整个xml节点,我可以将其导出到另一个xml文件。但在测试服务器中的行为不同

例如:我有一个包含以下内容的输入xml文件:

 <books>
   <book isbn="125141122">Book title</book>
 </books>
注:本地和服务器java版本相同(Java1.6)


您知道如何将完整的xml标记作为字符串吗?

。记录节点的
字符串
表示可能是另一种方式?您是否尝试过通过套接字进行远程调试并检查变量?我没有访问此服务器的权限。这对解决任何问题都不是好兆头。也许你可以尝试在你有权访问的机器上复制服务器的配置,这样你就可以进行调查。你有过这样的运气吗?奇怪。记录节点的
字符串
表示可能是另一种方式?您是否尝试过通过套接字进行远程调试并检查变量?我没有访问此服务器的权限。这对解决任何问题都不是好兆头。也许可以尝试在您有权访问的机器上复制服务器的配置,以便进行调查。您有过这样的运气吗?
 String filePath = "/tmp/test.xml";
 XMLInputFactory factory = XMLInputFactory.newInstance();
 eventReader = factory.createXMLEventReader(new FileReader(filePath));
 StringBuilder fileHeader = new StringBuilder();

 while(eventReader.hasNext()){

        XMLEvent event = eventReader.nextEvent();

        if(event.getEventType() == XMLStreamReader.START_ELEMENT){

            StartElement startElement = event.asStartElement();
            String elementName = startElement.getName().getLocalPart();

            if("book".equals(elementName)) {

                fileHeader.append(startElement.toString());
                fileHeader.append("\n");

            }
      }
 }