2012-06-11 2 views
2

Java 프로그램에서 dom4j를 사용하여 xml을 처리하고 있습니다.dom4j-java- 속성의 값을 변경하는 방법

이제 요소의 속성을 업데이트하고 싶습니다. 나는이를 위해

-

내가 element--

 SAXReader reader = new SAXReader(); 
    doc = reader.read(new StringReader(xmlinput)); 

    Element root = doc.getRootElement(); 
    for (Iterator i = root.elementIterator("cloudwhile"); i.hasNext();) { 
      Element foo = (Element) i.next(); 

지금, 나는 요소 'foo는'의 속성의 값을 업데이트 할 것을 얻기 위해 사용하고있는 코드입니다 다음 코드를 사용하려고합니다.

foo.setAttributeValue("indexstart", (String) newstart); 

그러나 위의 방법은 사용되지 않습니다 ... 이제 속성을 어떻게 업데이트합니까? 또한 요소 'foo'의 속성을 업데이트 한 직후 수정 된 XML의 문자열 표현을 가져오고 싶습니다. 어떻게해야합니까?

답변

5

JavaDoc은 대신 addAttribute(...)을 사용한다고 말합니다. 이 이름은 기존 속성의 내용을 대체하기 때문에 오해의 소지가 있습니다. 이는 값을 업데이트하는 것과 같습니다.

주어진 정규화 된 이름의 속성 값을 추가합니다. 주어진 이름에 대한 속성이 이미 존재하면 대체됩니다. 널 (null) 값을 갖는 속성은 자동으로 +시됩니다. 속성의 값이 null의 경우,이 메소드 호출은 지정된 이름의 속성을 모두 삭제합니다.

관련 문제