2013-02-06 23 views
0

我正在做很多使用org.w3c.dom類的XML解析/轉換。如何更改Java中XML屬性的一部分?

我有兩個屬性:「長度」和「驗證」。

我已解析的XML文檔,在Node對象的兩個屬性(例如節點nodeLengthAttr = attr.getNamedItem(「長度」);)

我想通過「驗證」屬性並輸入搜索使用.setTextContext或類似方法的特定點處的長度值。所以vailidation會是「一些文字+長度+一些測試」。

我基本上想把這個屬性看作一個字符串,任何想法?

回答

2

聽起來像一個

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

是你在找什麼。很難說沒有更多的上下文。

+0

看起來與上面相同的解決方案,謝謝 – grimebox

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); 
} 
+0

這看起來像它應該工作,謝謝 – grimebox