2012-02-02 9 views
0

xmlの内部にある.trxファイル(単体テスト結果ファイル)があります。ファイルの一部を比較し、必要に応じてファイルを変更したいファイルを再度保存してください。trx(xml)ドキュメントのデータを抽出して変更する

私はVB.NETはそう私が最初にすることは、正常に動作するようですが、私は私が必要とするデータのいずれかにアクセスすることはできませんXML文書に文書をロードで役立ついくつかのツールを持っていることがわかりました。今、私はカウンタータグの属性にアクセスして、いくつかのテストを再実行した後にそれらを変更しようとしています。

どうすればいいですか?

Dim attribute As Integer = CInt(xmlTrxMasterDoc.SelectSingleNode("/TestRun/ResultSummary/Counters").Attributes(i).InnerText) 

Dim node As XmlNode = xmlTrxMasterDoc.SelectSingleNode("/Counters") 
Dim i As Integer = 1 
node.Attributes.Item(i).InnerText 

XML

<?xml version="1.0" encoding="utf-8"?> 
<TestRun someattributes="" > 
    <ResultSummary outcome="Failed"> 
     <Counters total="115" executed="115" passed="110" error="0" failed="5" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0" /> 
    </ResultSummary> 
</TestRun> 
+0

「vb.netを使用してタイトルを接頭辞ないでください以下のコードは、あなたのCountersノードのtotal属性を与えます|| "など。それがタグのためのものです。 –

+0

はそれを得ました。私の最初の質問は申し訳ありません:) – Aeropher

答えて

0

VB.Netには、XML文書での作業が非常に簡単なXMLリテラルがあります。そうでなければ、これはあなたが探しているものをすべき

Dim X = <TestRun someattributes=""> 
      <ResultSummary outcome="Failed"> 
       <Counters total="115" executed="115" passed="110" error="0" failed="5" timeout="0" aborted="0" inconclusive="0" passedButRunAborted="0" notRunnable="0" notExecuted="0" disconnected="0" warning="0" completed="0" inProgress="0" pending="0"/> 
      </ResultSummary> 
     </TestRun> 

Console.WriteLine(X.<ResultSummary>.<Counters>[email protected]) 

Dim Doc As XmlDocument = New XmlDocument() 
Doc.Load(System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "testFile.trx")) 
Dim attribute = Doc.SelectSingleNode("//TestRun/ResultSummary/Counters").Attributes("total").Value 
Console.WriteLine(attribute) 
+0

私のコードはDocが空であるので、次の行にまだ落ちました。 xmlリテラルはうまく動作しますが、ファイルからxmlをどのように割り当てるのですか? 薄暗い属性= Doc.SelectSingleNode( "// TestRun/ResultSummary /カウンタ")。属性( "合計")。バリュー – Aeropher

+0

上記のコードでは、 'X'は 'XElement'オブジェクトです。 'XElement.Load(file)'を実行すると、ディスクからロードすることができます。 –

+0

私は、ありがとう、参照してください:) – Aeropher

関連する問題