Apcoordinator ユーザーズガイド |
目次 |
第2部 Apcoordinatorコアの機能 | > 第5章 XMLデータの利用 |
名前空間付きXMLデータをXMLデータBeanで操作する方法は次の通りです。
<?xml version="1.0" encoding="iso-2022-jp" ?> <book xmlns:fj="urn:fj-touch-communications"> <title>Apcoordinator入門</title> <date>2001/4/1</date> <fj:publisher lang="ja"> <fj:name>富士通タッチコミュニケーションズ</fj:name> <fj:address> <zip>222-0033</zip> <prefecture>神奈川県</prefecture> <city>横浜市</city> </fj:address> <fj:phone>000-111-2222</fj:phone> <fj:phone>000-333-4444</fj:phone> <fj:phone type="tollfree">0120-2222**</fj:phone> <fj:fax type="g4">000-555-6666</fj:fax> </fj:publisher> </book>
XmlDataBean xmlBean = new XmlDataBean(); ... xmlBean.addNamespaceDeclaration("fj","urn:fj-touch-communications");
String text = xmlBean.getText("fj:publisher/fj:name");
XMLデータBeanのルート要素から上位の要素で宣言されている名前空間宣言は、XMLデータBeanが自動的に検索します。
名前空間宣言の自動検索は、次のメソッドに対して有効です。
- getText(String xpath)
- getElement(String xpath)
- getNodeSet(String xpath)
- getSubBean(String xpath)
XMLデータBeanに名前空間情報が登録されている場合は、登録された情報からのみ名前空間接頭辞を解決し、名前空間宣言の自動検索は行いません。
名前空間宣言の自動検索を行う場合は、XMLデータBeanに名前空間情報を登録しないでください。
xmlBean.addNamespaceDeclaration("fj","urn:fj-touch-communications") xmlBean.setText("fj:publisher/fj:address/city","川崎市");
元のXMLデータ
<?xml version="1.0" encoding="iso-2022-jp" ?> <book> <title>Apcoordinator入門</title> </book>
名前空間宣言の追加
xmlBean.addNamespaceDeclaration("fj","urn:fj-touch-communications") xmlBean.addNamespacesToNode()
名前空間宣言追加後のXMLデータ
<?xml version="1.0" encoding="iso-2022-jp" ?> <book xmlns:fj="
urn:fj-touch-communications
"> <title>Apcoordinator入門</title> </book>
目次 |