これは.NET2.0プロジェクトです。まず最初に、何を解析するかをxmlします。
<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<diagramer>
<PKTABLE_NAME>TECH_Y_Category</PKTABLE_NAME>
<FKTABLE_NAME>TECH_File</FKTABLE_NAME>
</diagramer>
<diagramer>
<PKTABLE_NAME>TECH_File</PKTABLE_NAME>
<FKTABLE_NAME>TECH_Version</FKTABLE_NAME>
</diagramer>
<diagramer>
<PKTABLE_NAME>TECH_Group</PKTABLE_NAME>
<FKTABLE_NAME>TECH_D_Group_File_Version</FKTABLE_NAME>
</diagramer>
<diagramer>
<PKTABLE_NAME>TECH_Layout</PKTABLE_NAME>
<FKTABLE_NAME>TECH_File</FKTABLE_NAME>
</diagramer>
<diagramer>
<PKTABLE_NAME>CK_List</PKTABLE_NAME>
<FKTABLE_NAME>CK_Vote</FKTABLE_NAME>
</diagramer>
<diagramer>
<PKTABLE_NAME>CK_List</PKTABLE_NAME>
<FKTABLE_NAME>CK_Score</FKTABLE_NAME>
</diagramer>
<diagramer>
<PKTABLE_NAME>TECH_Page</PKTABLE_NAME>
<FKTABLE_NAME>TECH_Page</FKTABLE_NAME>
</diagramer>
<diagramer>
<PKTABLE_NAME>CK_List</PKTABLE_NAME>
<FKTABLE_NAME>Comments</FKTABLE_NAME>
</diagramer>
</DocumentElement>
ご覧のとおり、いくつかのPKTABLE_NAME値は同じです。以下のコードを使用して、そのxmlをループします。
StringBuilder sb = new StringBuilder();
foreach (XmlNode items in diagramTables)
{
string pkTable = items["PKTABLE_NAME"].InnerText.Replace("_",@"\_");
string fkTable = items["FKTABLE_NAME"].InnerText.Replace("_",@"\_");
sb.Append(pkTable);
sb.Append(" got ");
sb.Append( fkTable + Environment.NewLine);
}
それは私が達成したいことを正確に示しているわけではありません。すべての値を取得したいのですが、1回だけにします(繰り返したくない)。結局のところ、私は上記のxmlからこのようなsometinginghを書きたいです:
- TECH_Y_Categoryが TECH_Fileを取得しました
- TECH_FileはTECH_Versionを取得しました
- TECH_GroupはTECH_D_Group_File_Versionを取得しました
- TECH_LayoutはTECH_Fileを取得しました
- CK_ListはCK_Voteを取得しました| CK_Score | コメントコメント
- TECH_PageはTECH_Pageを取得しました
私が達成しようとしていることを理解していただければ幸いです。
編集。
Morawskiのコードは私にとって完璧に機能したので、問題は解決しました;)。