2012-04-11 38 views
-2

我有如下所示的XML文件內容。XML Parser通過比較它的值來獲取特定的可靠性

<FileIndex> 
<Document SEQUENCE="0" FILENAME="A.xml" /> 
<Document SEQUENCE="1" FILENAME="B.htm" /> 
<Document SEQUENCE="2" FILENAME="C.htm" /> 
<Document SEQUENCE="3" FILENAME="D.htm" /> 

我想要得到的屬性文件名的值,其中屬性SEQUENCE的值是equls爲「1」。哪個會是首選方式? SAX,DOM,XPath?以及如何實施它?

回答

1

這裏有您需要什麼:

@Test 
    public void test() throws Exception 
    { 
    String xml = 
     "<FileIndex>\n" + 
     "<Document SEQUENCE=\"0\" FILENAME=\"A.xml\" />\n" + 
     "<Document SEQUENCE=\"1\" FILENAME=\"B.htm\" />\n" + 
     "<Document SEQUENCE=\"2\" FILENAME=\"C.htm\" />\n" + 
     "<Document SEQUENCE=\"3\" FILENAME=\"D.htm\" />\n" + 
     "</FileIndex>"; 
    XPath xp = XPathFactory.newInstance().newXPath(); 
    System.out.println(xp.evaluate("/FileIndex/Document[@SEQUENCE='1']/@FILENAME", new InputSource(new StringReader(xml)), XPathConstants.STRING)); 
    } 

對於這樣小的XML,最好使用XPath

+0

謝謝...它的工作.. 即使我想使用XPath的,BT不知道如何爲它編寫Exprssion。 謝謝.. – user1326097 2012-04-11 12:54:53

相關問題