C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: DataTable.ReadXMLでプロジェクト内のXMLを


(過去ログ 30 を表示中)

[トピック内 6 記事 (1 - 6 表示)]  << 0 >>

■14034 / inTopicNo.1)  DataTable.ReadXMLでプロジェクト内のXMLを
  
□投稿者/ ken (3回)-(2008/02/08(Fri) 09:26:10)

分類:[VB.NET/VB2005] 

VB2005です。

プロジェクトにxmlファイルを追加し、
DataTable.ReadXmlで読み込んで使いたいのですが、どうすればよいでしょうか。

Dim dt As New DataTable
dt.ReadXml(...

この後の書き方が分かりません。

よろしくお願い致します。

引用返信 編集キー/
■14037 / inTopicNo.2)  Re[1]: DataTable.ReadXMLでプロジェクト内のXMLを
□投稿者/ やじゅ (125回)-(2008/02/08(Fri) 09:51:55)
2008/02/08(Fri) 09:57:59 編集(投稿者)

No14034 (ken さん) に返信
> VB2005です。
>
> プロジェクトにxmlファイルを追加し、
> DataTable.ReadXmlで読み込んで使いたいのですが、どうすればよいでしょうか。
>

「ReadXml」だけで検索するといろいろ出てきます。

'ストリームを作成する
Dim reader As IO.StreamReader = New IO.StreamReader("対象のファイル.XML", _
'データセットにXMLファイルを読み込む
dtSet.ReadXml(reader) ← この例はDataTableではなくDataSetです。


リンク先にサンプルがあるので、それで試してみてください。
DataSet
http://msdn2.microsoft.com/ja-jp/library/system.data.dataset.readxml(VS.80).aspx
DataTable
http://msdn2.microsoft.com/ja-jp/library/system.data.datatable.readxml(VS.80).aspx
引用返信 編集キー/
■14040 / inTopicNo.3)  Re[2]: DataTable.ReadXMLでプロジェクト内のXMLを
□投稿者/ ken (4回)-(2008/02/08(Fri) 10:12:41)
やじゅ さん ありがとうございます。

"対象のファイル.XML"ですが、実際にはリソースにXMLを追加しており、
XMLファイル自体は出力ディレクトリにはコピーしていません。

> 'ストリームを作成する
> Dim reader As IO.StreamReader = New IO.StreamReader("対象のファイル.XML", _

この場合、"対象のファイル.XML"の部分には、どのように設定すればよろしいのでしょうか?

以下のようにしてみたのですが、
"DataTable は XML のスキーマの推論をサポートしていません。"とエラーになります。。。

よろしくお願い致します。


Dim dt As New DataTable
Dim strXML As String = My.Resources.xmlFile
Dim ts As New IO.StringReader(strXML)

dt.ReadXml(ts)


引用返信 編集キー/
■14046 / inTopicNo.4)  Re[3]: DataTable.ReadXMLでプロジェクト内のXMLを
□投稿者/ やじゅ (127回)-(2008/02/08(Fri) 13:13:47)
No14040 (ken さん) に返信
> 以下のようにしてみたのですが、
> "DataTable は XML のスキーマの推論をサポートしていません。"とエラーになります。。。

これでいかがでしょう 

Dim ds As New DataSet
Dim strXML As String = My.Resources.xmlFile
Dim sReader As System.IO.StringReader = New System.IO.StringReader(strXML)
ds.ReadXml(sReader, XmlReadMode.InferSchema)
引用返信 編集キー/
■14287 / inTopicNo.5)  Re[4]: DataTable.ReadXMLでプロジェクト内のXMLを
□投稿者/ ken (5回)-(2008/02/14(Thu) 18:23:38)
2008/02/14(Thu) 18:27:35 編集(投稿者)

No14046 (やじゅ さん) に返信

ありがとうございます。

無事、DatasetにXMLを読み込めたのですが、
このXMLファイル内には、unicode文字が含まれている(○で囲まれたAという文字)のですが、文字化けしてしまいます。

ds.ReadXml("c:\xmlファイルのパス")で読み込むと、正しくunicode文字が表示されているのですが、
どうも、System.IO.StringReader(strXML)でやると文字化けしてしまいます。
StringReaderで文字コードを指定することはできるのでしょうか?

よろしくお願い致します。


<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="syb_mst">
<xs:complexType>
<xs:sequence>
<xs:element name="syb_cd" type="xs:string" />
<xs:element name="syb_kigo" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//syb_mst" />
<xs:field xpath="syb_cd" />
</xs:unique>
</xs:element>
</xs:schema>
<syb_mst>
<syb_cd>01</syb_cd>
<syb_kigo>@</syb_kigo>
</syb_mst>
<syb_mst>
<syb_cd>A</syb_cd>
<syb_kigo>&#9398;</syb_kigo> ←(○で囲まれたAという文字)
</syb_mst>
</NewDataSet>
引用返信 編集キー/
■14296 / inTopicNo.6)  Re[5]: DataTable.ReadXMLでプロジェクト内のXMLを
□投稿者/ やじゅ (161回)-(2008/02/14(Thu) 20:50:36)
No14287 (ken さん) に返信

strXMLをGetEncodingで文字コード変換すればいいですかね。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -