我想將包含xml的java字符串轉換爲w3c dom文檔對象。無法將xml字符串轉換爲w3c文檔
我第一次在各地搜索,並在這裏提出了一些很好的例子在stackoverflow。 但不幸的是,我可以讓他們工作!
Apperently我的代碼不工作100%。
它似乎喜歡它解析字符串,但在節點中沒有值。 這就是我到目前爲止!
Document newDoc = null;
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(TestFiles.RSS_FEED_FILE_2));
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true);
DocumentBuilder builder = null;
builder = factory.newDocumentBuilder();
newDoc = builder.parse(is);
當我做一個系統輸出之後這樣的:
System.out.println(newDoc.getDocumentElement().getElementsByTagName("channel").item(0));
我得到作爲輸出:
System.out.println(newDoc.getDocumentElement().getElementsByTagName("channel").item(0)
.getNodeValue());
我在使用本系統輸出了空輸出爲[頻道:空]
所以我有一個對象,否則它會拋出一些空指針異常,但它不包含任何值?
常量的內容是這樣的:
public final static String RSS_FEED_FILE_2 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<rss version=\"2.0\">\n" +
"<channel>\n" +
"<title>sunday</title>\n" +
"<link>http://www.google.nl</link>\n" +
"<pubDate>2012-02-05 20:58</pubDate>\n" +
"<lastBuildDate>2012-02-08 09:48</lastBuildDate>\n" +
"<description>blabla </description>\n" +
"<item>\n" +
"<title><![CDATA[title]]></title>\n" +
"<link><![CDATA[http://www.google.nl]]></link>\n" +
"<guid><![CDATA[2266610]]></guid>\n" +
"<source><![CDATA[sunday]]></source>\n" +
"<author><![CDATA[me]]></author>\n" +
"<description><![CDATA[blalbalavblabllllll!]]></description>\n" +
"</item>\n" +
"</channel>\n" +
"</rss>";
沒有任何人有一個解決方案或提示嗎?
或者只是不要使用DOM。它充滿了像這樣的可用性問題。諸如JDOM和XOM等現代等價物在各方面均優越。 – 2012-02-09 12:38:30