안녕하세요 델초보 인사드립니다 *^^*
식사는 맛나게 하셨는지요 ^^;;
밑에 질문했다가 몇가지 해결하고 다시 질문드립니다 ㅠㅠ;;;
휴가가고파용 ㅠㅠ;;;
<No1 name="1번타자">
<상반기>
<p0 AVG="0.28"></p0>
<p1 AVG="0.23"></p1>
</상반기>
.......
위와같은 xml문서가 있을때
<상반기> 밑에있는 p0,p1두개의 노드를 삭제후
다른 노드값을 쓸려고합니다.
일단 노드 추가는 나중문제고..
지금 발생하는문제는 <상반기> 밑에 두 노드를 지우면..
<No1 name="1번타자">
</상반기>
...........
이렇게.. 상위 노드인 <상반기> 까지 지워지내요 ㅠㅠ;;
소스는 밑에 붙여놨습니다 ㅠㅠ
고수님~ 부탁드립니다 ㅠㅠ;;;;;
추가도 <상반기> 밑에 5개의 노드를 추가하면..
5개중 마지막 노드만 추가됩니다
그럿도
<상반기>
<p3 AVG....>
이렇게 추가 되는것이아니라..
<상반기 AVG....>
<p3></p3>
이런식으로 추가가되는데요.. ㅠㅠ 어찌해야할지 모르겠습니다 ㅠㅠ;;
procedure XMLNodeClear(XMLNode: IXMLNode);
var
Loop, cnt, i, a : integer;
Nodenm, _s : String;
DelNode : IXMLNode;
begin
if XMLNode.NodeType <> ntElement then Exit;
Nodenm := XMLNode.NodeName;
if Nodenm = '상반기' Then
begin
cnt := XMLNode.ChildNodes.Count;
if cnt > 0 then
begin
// for I := 0 to cnt - 1 do <<= for문은 하나 안하나.. 마찬가지입니다 ㅠㅠ;;
// begin
// _s := DelNode.NodeName;
XMLNode.ChildNodes.Clear;
// end;
XMLDocument.SaveToFile('C:\test.xml');
end;
end;
for Loop := 0 to XMLNode.ChildNodes.Count - 1 do
XMLNodeClear(XMLNode.ChildNodes.Nodes[Loop]);
end;
ps:더위조심하시구요~ 즐거운 휴가 다녀오셔요~ ^^
모두 감사드립니다 ^^