関連記事
- 【#マイナンバー】マイナンバーカード、全病院で保険証に 21年3月から 【2019年02月14日(木)】
- Delphi5をWindows7 64ビット環境に突っ込んでみた 【2011年01月15日(土)】
- 【C#】XmlDocument.CreateElement()を使うとPrefixを出力しない不具合があるらしい 【2010年12月24日(金)】
- 電子カルテ,下り電文のテストがオワタ 【2010年12月15日(水)】
- NET FRAMEWORKのソケット通信 【2010年11月30日(火)】
必要に迫られて,書き起こしてみた
悔いは無い(爆
また,どっかでこの手の追っかけ部,実装作業があったときの
自分自身のサンプル用に
次はC#辺りで,やりそう
なお,どことなく,ORCA~Claimの香りがするのは気のせいではない(笑
//**********************************************
//指定ノードの検索(再帰利用)
//
//nd : 検索開始点のノード (IXMLDOMNode)
//ndName : 検索対象のノード名称
//
//return : 見つけたノードオブジェクト(見つからなかったらnull)
//**********************************************
function TClaimInput.SearchNode(nd: IXMLDOMNode; ndName: string): IXMLDOMNode;
var
i : integer;
st : string;
begin
result := nil;
for i := 0 to nd.childNodes.Get_length - 1 do
begin
st := nd.childNodes.item[i].Get_nodeName();
if st = ndName then
begin
result := nd.childNodes.item[i];
end
else
begin
result := SearchNode(nd.childNodes.item[i], ndName);
end;
if result <> nil then
begin
break;
end;
end;
end;
//**********************************************
//指定ノードの検索(再帰利用)(Overload)
//
//nd : 検索開始点のノード (IXMLDOMNode)
//ndName : 検索対象のノード名称
//attrName : 検索対象のノード属性名称
//attrVal : 検索対象のノード属性値
//
//return : 見つけたノードオブジェクト(見つからなかったらnull)
//**********************************************
function TClaimInput.SearchNode(nd: IXMLDOMNode; ndName: string; attrName : string; attrVal : string): IXMLDOMNode;
var
i : integer;
j : integer;
stn : string;
stv : string;
fl : boolean;
begin
result := nil;
for i := 0 to nd.childNodes.Get_length - 1 do
begin
fl := false;
stn := nd.childNodes.item[i].Get_nodeName();
if stn = ndName then
begin
for j := 0 to nd.childNodes.item[i].attributes.Get_length - 1 do
begin
stn := nd.childNodes.item[i].attributes.item[j].Get_nodeName();
stv := nd.childNodes.item[i].attributes.item[j].Get_text();
if (stn = attrName) and (stv = attrVal) then
begin
fl := true;
break;
end;
end;
end;
if fl = true then
begin
result := nd.childNodes.item[i];
end
else
begin
result := SearchNode(nd.childNodes.item[i], ndName, attrName, attrVal);
end;
if result <> nil then
begin
break;
end;
end;
end;
//**********************************************
//指定ノードの1層上のノードを返す
//
//nd : 検索開始点のノード (IXMLDOMNode)
//
//return : 一個上位のノードオブジェクト
//**********************************************
function TClaimInput.SearchNodeParent(nd: IXMLDOMNode): IXMLDOMNode;
begin
result := nd.Get_parentNode;
end;

コメント
【#特別重大報道】存立危機事態キター!有事発生ぢゃ!!なので,ぎんゆぅ~さんはしばらくお休みしまする
21年ぶりに新規航路 宮崎港に東京港と結ぶ貨物専用の定期航路開設へ
【#クマ】「泳ぐ宝石」ニシキゴイ、クマに襲われる…新潟県小千谷市のいけす
【クマ】クマによる人的被害、生活圏7割 環境省まとめ、出没は最多2万件
「ニュウハクシミ」紙を食べる害虫 生息19都道府県に拡大
文化の日な祭日らしい.文化的に休むもうず?
【#HTVX】新型宇宙輸送船HTV-X 油井さんがロボットアームでキャッチ
【冬】来週11℃予想とか出てきてる.秋があったのか,今年(25/10/23)
【ツル】出水平野に冬の訪れを告げるツル第一陣・今季初飛来 鹿児島(25/10/21)