» 首頁 » 討論區 » Android程式設計 »String轉xml

String轉xml

發表人: 訪客
發表時間: 2011-08-26 00:07:29
請問
我有一個String 變數裡面的值是
<?xml version="1.0" encoding="utf-8" ?>
<libary>
<book name="java" price="200" />
<book name="vb" price="300" />
</libary>


該怎麼讓他顯式在TextView呢
發表人: 訪客
發表時間: 2011-08-26 00:09:49
顯式成

JAVA200
VB300
發表人: Seachaos
積分: 2432
發表時間: 2011-08-26 16:47:43
Android已內建好了XML Parser,先建立一個XML的DOM

[sea:javaCode]
Document doc;
try {
String content = "XML內容";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db;
db = dbf.newDocumentBuilder();
StringReader sr = new StringReader(content);
InputSource is = new InputSource(sr);
doc = db.parse(is);
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
[/sea]

再來是從XML的Document中取出Attribute(屬性)


[sea:javaCode]
NodeList element = doc.getElementsByTagName("book");
for(int ax=0;ax<element.getLength();ax++){
NamedNodeMap attr = element.item(ax).getAttributes();
Log.i("msg",attr.getNamedItem("name").getNodeValue()); // 以你的xml範例來說就是java,vb
}
[/sea]
price的做法同上
發表人: 訪客
發表時間: 2011-08-27 00:32:46
那最後

得到的字串變數是什麼呢?
發表人: Seachaos
積分: 2432
發表時間: 2011-08-28 00:12:40
[quote]訪客 提到:
那最後

得到的字串變數是什麼呢?[/quote]
不太懂你的意思
是說
attr.getNamedItem("name").getNodeValue()
這嗎?
attr.getNamedItem("name").getNodeValue() 就是name
attr.getNamedItem("price").getNodeValue() 就是price
發表人: 訪客
發表時間: 2011-09-01 01:18:42
就是如何由TextView印出資料

TextView display = (TextView) findViewById(R.id.display);

display.setText("???");

SORRY剛開始沒學好…
發表人: Seachaos
積分: 2432
發表時間: 2011-09-02 01:41:19
這部份的話你可以先取出值,用一個String裝他
String name = attr.getNamedItem("name").getNodeValue();
然後把值給放到display裡
display.setText(name)

這樣就可以了 :)
發表人: 訪客
發表時間: 2011-09-16 10:55:10
你好

我的XML適用HTTP得到的
所以他是不是會有字串上的問題
因為我如果自己設STRING的XML可用
抓網頁的STRING的XML卻找不到
請問該如呵解決
發表人: Seachaos
積分: 2432
發表時間: 2011-09-17 10:33:16
您好:
不知道您是否有用過Log或是TextView之類的先確認和Server取得的資料是否正確呢?
如果還是有問題的話請提供給我更多的資訊