2016-05-16 18 views
0

実行時にvb.netでxmlを読み込んでrdlcレポートを更新したいとします。 私のレポートは文句を言わない任意の値を取得するよう実行時のRDLCレポートの更新

この

Dim MyXMLNode As Xml.XmlNode = MyXML.SelectSingleNode("/Report/DataSet[@Name='DS_MAIN']/Fields/Field[@Name='Value3']/DataField") 

私MyXMLNodeのように、このノードにアクセスするために使用して

<?xml version="1.0" encoding="utf-8"?> 
<Report .... 
<DataSources> 
.... 
</DataSources> 
<DataSets> 
<DataSet Name="DS_MAIN"> 
<Fields> 
<Field Name="Value3"> 
     <DataField>Value3</DataField> 
     <rd:TypeName>System.String</rd:TypeName> 
</Field> 

とイムを下回っています。 この問題で私を助けてください。

答えて

0

するTry XML LINQの

Imports System.Xml 
 
Imports System.Xml.Linq 
 
Module Module1 
 

 
    Const FILENAME As String = "c:\temp\test.xml" 
 
    Sub Main() 
 

 

 
     Dim doc As XDocument = XDocument.Load(FILENAME) 
 
     Dim root As XElement = doc.FirstNode 
 
     Dim ns = root.Name.Namespace 
 
     Dim fields = doc.Descendants(ns + "Field").Select(Function(x) New With { _ 
 
      .name = x.Attribute("Name").Value, _ 
 
      .datafield = x.Element(ns + "DataField").Value, _ 
 
      .typeName = x.Descendants().Where(Function(y) y.Name.LocalName = "TypeName").Select(Function(z) z.Value).FirstOrDefault() _ 
 
     }).ToList() 
 
    End Sub 
 

 
End Module
返信用

+0

おかげで、これは文字列で正常に動作しているが、私は全体のレポートをロードするとき、それは文句を言わない出力、これは私のレポート –

+0

ですこれは、私が試したファイルですこれはまだ出力がありませんhttp://www.filedropper.com/2detailmainreport –

+0

名前空間を追加する必要があります。変更されたコードを見てください。 – jdweng

関連する問題