2013-02-08 1 views
0
$intf setAttribute status "Shipped to Customer" 
set status [$intf getAttribute status] 
puts $status 

해당 노드에서이없는 XML 파일 만 특정 행을 업데이트 할 수 있습니다 나는 getAttribute ..so로 확인했다. 출력은 .. 이지만이 속성은 .xml 파일에는 보이지 않는다 .. 내가 정확히 놓친 곳 .... ??
(또는)
단지 내가 임시 파일 생성과 succedeed tdom 방법 를 사용하여 .XML 파일 만 특정 행을 업데이트 할 수있는 가장 좋은 방법이 기존의 방법 .. 먹으 렴하지만 난 tdom 파서 Methos의만을 사용하여 행을 업데이트 할 ..은 Tcl의 setAttribute method..How은 내가 여부가 업데이트인지 내가 it..to 알고 설정하고 ... 일반 상태 속성에

+0

"문서"에 대한 변경 사항이 파일에 다시 반영되지 않는 문제입니까? –

답변

0

문제는, tDOM이 문서 개체 모델의 변경 사항을 파일에 자동으로 반영하지 않는다는 것입니다. 대신, 그 모델은 연결 해제 된 복사본 파일 내용을 기반으로합니다. 변경 사항을 유지하려면 다시 직렬화하고 저장해야합니다.

는이와 그렇게 할 것 :

# Save to a temporary file, just in case things go wrong... 
set f [open $filename.tmp "w"] 
$doc asXML -channel $f; # Or the asHTML method if it's HTML to be saved 
close $f 

# Now do the atomic replace 
file rename -force $filename.tmp $filename 

그것만큼 간단합니다. (XML 또는 HTML인지 알 필요가 있는데 두 가지 경우에서 직렬화 규칙이 미묘하게 다릅니다.)