1

私はこの質問について多くの答えを見つけましたが、それらはすべて最初に文字列をファイルに変換しようとし、次にそれを使用して解析しようとしていますXmlDocument doc = new XmlDocument();

私は初心者ですc#。私の文字列の形式は次のとおりです。

<a header = '0'> < row dc = '123' al = '45' msg = '1-st line'/> < row dc = '678' al = '8' msg = 'second-line'/> </a>

私はそれを解析するために疑似コードを書き込もうとしています:

IF <a header> == 0
Then read from the second line to last line i.e. dc = 678 , al = 8, msg = second-line
ELSE read from the first line to last line i.e.  
  dc = 123 , al = 45, msg = 1-st line
 dc = 678 , al = 8, msg = second-line

この後、データベースに挿入する必要があります。上記の条件を適用している間、これに対する適切な解決策は何ですか?

4

2 に答える 2

5

XML を解析するためにファイルに保存する必要はありません。

var xml = "<a header='0'> <row dc='123' al='45' msg='1-st line'/> <row dc='678' al='8' msg='second-line'/> </a>";
var doc = XElement.Parse(xml);
var list = from x in doc.Descendants("row")
            select new 
            {
                dc = (int)x.Attribute("dc"),
                al = (int)x.Attribute("al"),
                msg = (string)x.Attribute("msg")
            };

この単純なサンプルは、DB に簡単に挿入できる匿名オブジェクトのリストを提供します。

于 2012-08-21T22:56:27.540 に答える
0

開始コード:

   XmlNode xmlNode = doc.SelectNode("/a");
   int value = xmlNode.Attributes["header"].Value;
   XmlNodes xmlNodes = xmlNode.SelectNodes("./row");
   foreach (XmlNode rowNode in XmlNodes)
于 2012-08-21T22:57:58.147 に答える