String轉xml
發表人:
訪客
請問
我有一個String 變數裡面的值是
<?xml version="1.0" encoding="utf-8" ?>
<libary>
<book name="java" price="200" />
<book name="vb" price="300" />
</libary>
該怎麼讓他顯式在TextView呢
我有一個String 變數裡面的值是
<?xml version="1.0" encoding="utf-8" ?>
<libary>
<book name="java" price="200" />
<book name="vb" price="300" />
</libary>
該怎麼讓他顯式在TextView呢
發表人:
訪客
顯式成
JAVA200
VB300
JAVA200
VB300
發表人:
Seachaos
積分: 2432
積分: 2432
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的做法同上
[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的做法同上
發表人:
訪客
那最後
得到的字串變數是什麼呢?
得到的字串變數是什麼呢?
發表人:
Seachaos
積分: 2432
積分: 2432
[quote]訪客 提到:
那最後
得到的字串變數是什麼呢?[/quote]
不太懂你的意思
是說
attr.getNamedItem("name").getNodeValue()
這嗎?
attr.getNamedItem("name").getNodeValue() 就是name
attr.getNamedItem("price").getNodeValue() 就是price
那最後
得到的字串變數是什麼呢?[/quote]
不太懂你的意思
是說
attr.getNamedItem("name").getNodeValue()
這嗎?
attr.getNamedItem("name").getNodeValue() 就是name
attr.getNamedItem("price").getNodeValue() 就是price
發表人:
訪客
就是如何由TextView印出資料
TextView display = (TextView) findViewById(R.id.display);
display.setText("???");
SORRY剛開始沒學好…
TextView display = (TextView) findViewById(R.id.display);
display.setText("???");
SORRY剛開始沒學好…
發表人:
Seachaos
積分: 2432
積分: 2432
這部份的話你可以先取出值,用一個String裝他
String name = attr.getNamedItem("name").getNodeValue();
然後把值給放到display裡
display.setText(name)
這樣就可以了 :)
String name = attr.getNamedItem("name").getNodeValue();
然後把值給放到display裡
display.setText(name)
這樣就可以了 :)
發表人:
訪客
你好
我的XML適用HTTP得到的
所以他是不是會有字串上的問題
因為我如果自己設STRING的XML可用
抓網頁的STRING的XML卻找不到
請問該如呵解決
我的XML適用HTTP得到的
所以他是不是會有字串上的問題
因為我如果自己設STRING的XML可用
抓網頁的STRING的XML卻找不到
請問該如呵解決
發表人:
Seachaos
積分: 2432
積分: 2432
您好:
不知道您是否有用過Log或是TextView之類的先確認和Server取得的資料是否正確呢?
如果還是有問題的話請提供給我更多的資訊
不知道您是否有用過Log或是TextView之類的先確認和Server取得的資料是否正確呢?
如果還是有問題的話請提供給我更多的資訊