来自java的readXmlfile

ant*_*ant 0 java java-io

您好我已经在java中编写了一个小类来读取xml文件中的字符串,而不是我的问题如下:如何追加字符串以便它只输出Physical_Order_List_Array标签之间的内容

这是一个java类:

public static String getFileContent(String fileName)
    {
        BufferedReader br = null;
        StringBuilder sb = new StringBuilder();
        try {
            br = new BufferedReader(new FileReader(fileName));
        try {
            String s;
            while((s = br.readLine()) != null)
            {
                sb.append(s);
                sb.append("\n");
            }
        }

        finally {
            br.close();
        }
        }
        catch (Exception ex) {
            ex.printStackTrace();
        }
        return sb.toString();
    }
Run Code Online (Sandbox Code Playgroud)

这里有一些xml文件非常大:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
.....
.....
.....some content
....here is what I only need 
<Physical_Order_List_Array>
....now I need to get this portion of the code, append string to only output what is beetween these tags, including these tags as well
</Physical_Order_List_Array>
.....
.....
.....
Run Code Online (Sandbox Code Playgroud)

谢谢您的回答

kdg*_*ory 5

不要将文件作为字符串读取,使用XML解析器读取它,然后使用XPath提取所需的节点.我写了关于解析xpath的文章,它们将为您提供所需的代码.

另外,定义"非常大" - 它是兆字节还是千兆字节?如果是后者,那么你需要一个SAX解析器,我没有描述.如果是前者,DOM解析器就可以了.