如何在Java中更改XML属性的一部分?

时间:2013-02-06 16:48:36

标签: java xml xml-parsing

我正在使用org.w3c.dom类进行大量的XML解析/转换。

我有两个属性:“长度”和“验证”。

我已经解析了XML文档,在Node对象中有两个属性(例如Node nodeLengthAttr = attr.getNamedItem(“length”);)

我想搜索“validation”属性,并使用.setTextContext或类似方法在特定点输入length的值。因此,后来的防范将是“一些文字+长度+一些测试”。

我基本上想把属性视为字符串,任何想法?

2 个答案:

答案 0 :(得分:2)

听起来像是

import org.w3c.dom;
//...
Attr attrValidation = (Attr)attr.getNamedItem("validation");
String value = attrValidation.getValue();
//Modify the string
//...
attrValidation.setValue(value);

正是您要找的。很难说没有更多的背景。

答案 1 :(得分:2)

如果您确定,Node实例是一个元素,请将其转换为org.w3c.dom-Element

  • 然后使用Element.getAttribute()将属性值设为String
  • 创建修改后的字符串。
  • 使用Element.setAttribute()设置修改后的字符串。

示例:

if(node instanceof Element) {
  Element el = (Element) node;
  String s = el.getAttribute("validation");
  String modified = ...
  el.setAttribute("validation", modified);
}