我要尝试解释我的问题。 我有一个Android应用程序,带有地图和标记。每次按下标记时,我都会获得XML文件(原始文件夹中设置的本地文件)的信息,例如name和visited。我使用DOM,因为这是我所知道的最简单方法。
我想要做的是,每次用户点击访问复选框按钮时,该特定标记的访问节点的值都会发生变化。 以下是xml文件的示例:
<marker id="00001" name="Marker1">
<visited>Yes</visited>
</marker>
现在我需要一种方法来获取原始文件夹的de Path,用于xml文件。我尝试使用接收标记信息的方法,元素信息(已搜索的xml元素)和newValue:
public void setNodeValue(String tag, Element element, String newvalue) {
try {
StreamResult result = new StreamResult(new File("file:///android_asset/file.xml"));
NodeList nodeList = element.getElementsByTagName(tag).item(0)
.getChildNodes();
Node node = (Node) nodeList.item(0);
node.setTextContent(newvalue);
Transformer xformer = TransformerFactory.newInstance().newTransformer();
xformer.transform(new DOMSource(getDom()), result);
} catch ....{
....
}
getDom方法......
private Document getDom() {
Document dom = null;
try {
InputStream raw = cont.getApplicationContext().getAssets()
.open("file.xml");
DocumentBuilderFactory builderFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = null;
builder = builderFactory.newDocumentBuilder();
dom = builder.parse(raw);
} catch ....{
}.......
return dom;
}
如果有人可以提供帮助,请! :)