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

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

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

Re[4]: DataSetで特定の要素をまとめてXMLに出力するには


(過去ログ 67 を表示中)

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

■38513 / inTopicNo.1)  DataSetで特定の要素をまとめてXMLに出力するには
  
□投稿者/ しろくま (1回)-(2009/07/17(Fri) 11:16:58)

分類:[VB.NET/VB2005 以降] 

以下のプログラムを実行した際に出力されるXMLで
<TitleList>の要素が3つに分割されているのを一つにまとめて
  <TitleList>
    <title>1000</title>
    <title>2000</title>
    <title>3000</title>
  </TitleList>
と出力したいのですが、どのようにすればよいのでしょうか?
環境はVS2008Pro SP1のVBを使用しております

■プログラム
Dim ds As New DataSet("Setting")

Dim dr As DataRow

Dim dt3 As New DataTable("TitleList")
dt3.Columns.Add("title", Type.GetType("System.String"))

For i As Integer = 0 To TextBox1.Lines.Count - 1
    dr = dt3.NewRow
    dr.Item("title") = TextBox1.Lines(i).ToString
    dt3.Rows.Add(dr)
Next
ds.Tables.Add(dt3)

ds.WriteXml("Settings/SettingList.xml")

■出力結果
<?xml version="1.0" standalone="yes"?>
<Setting>
  <TitleList>
    <title>1000</title>
  </TitleList>
  <TitleList>
    <title>2000</title>
  </TitleList>
  <TitleList>
    <title>3000</title>
  </TitleList>
</Setting>

引用返信 編集キー/
■38514 / inTopicNo.2)  Re[1]: DataSetで特定の要素をまとめてXMLに出力するには
□投稿者/ 魔界の仮面弁士 (1152回)-(2009/07/17(Fri) 12:10:00)
No38513 (しろくま さん) に返信
> 以下のプログラムを実行した際に出力されるXMLで
> <TitleList>の要素が3つに分割されているのを一つにまとめて
>   <TitleList>
>     <title>1000</title>
>     <title>2000</title>
>     <title>3000</title>
>   </TitleList>
> と出力したいのですが、どのようにすればよいのでしょうか?


(案1) DataSet.WriteXml した結果を、XSLT を用いて構造変換する。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output indent="yes" omit-xml-declaration="no" standalone="yes" />
	<xsl:template match="/">
		<Setting>
			<TitleList>
				<xsl:apply-templates />
			</TitleList>
		</Setting>
	</xsl:template>
	<xsl:template match="TitleList/title">
		<xsl:copy-of select="." />
	</xsl:template>
</xsl:stylesheet> 



(案2) DataSet.WriteXml に頼らず、自分で XML を組み立てる。

Dim xml = <?xml version="1.0" standalone="yes"?>
          <Setting>
            <TitleList>
              <%= From s In TextBox1.Lines Select <title><%= s %></title> %>
            </TitleList>
          </Setting>
xml.Save("C:\SettingList.xml")

引用返信 編集キー/
■38870 / inTopicNo.3)  Re[2]: DataSetで特定の要素をまとめてXMLに出力するには
□投稿者/ Hook (2回)-(2009/07/27(Mon) 09:58:16)
2009/07/27(Mon) 09:58:34 編集(投稿者)

No38514 (魔界の仮面弁士 さん) に返信
> ■No38513 (しろくま さん) に返信
>>以下のプログラムを実行した際に出力されるXMLで
>><TitleList>の要素が3つに分割されているのを一つにまとめて
>> <TitleList>
>> <title>1000</title>
>> <title>2000</title>
>> <title>3000</title>
>> </TitleList>
>>と出力したいのですが、どのようにすればよいのでしょうか?
>
>
> (案1) DataSet.WriteXml した結果を、XSLT を用いて構造変換する。
>
> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
> <xsl:output indent="yes" omit-xml-declaration="no" standalone="yes" />
> <xsl:template match="/">
> <Setting>
> <TitleList>
> <xsl:apply-templates />
> </TitleList>
> </Setting>
> </xsl:template>
> <xsl:template match="TitleList/title">
> <xsl:copy-of select="." />
> </xsl:template>
> </xsl:stylesheet>
>
>
>
> (案2) DataSet.WriteXml に頼らず、自分で XML を組み立てる。
>
> Dim xml = <?xml version="1.0" standalone="yes"?>
> <Setting>
> <TitleList>
> <%= From s In TextBox1.Lines Select <title><%= s %></title> %>
> </TitleList>
> </Setting>
> xml.Save("C:\SettingList.xml")
引用返信 編集キー/
■38873 / inTopicNo.4)  Re[3]: DataSetで特定の要素をまとめてXMLに出力するには
□投稿者/ 夜桜 (12回)-(2009/07/27(Mon) 10:31:10)
No38870 (Hook さん) に返信
> 2009/07/27(Mon) 09:58:34 編集(投稿者)
>
> ■No38514 (魔界の仮面弁士 さん) に返信
>>■No38513 (しろくま さん) に返信
> >>以下のプログラムを実行した際に出力されるXMLで
> >><TitleList>の要素が3つに分割されているのを一つにまとめて
> >> <TitleList>
> >> <title>1000</title>
> >> <title>2000</title>
> >> <title>3000</title>
> >> </TitleList>
> >>と出力したいのですが、どのようにすればよいのでしょうか?
>>
>>
>>(案1) DataSet.WriteXml した結果を、XSLT を用いて構造変換する。
>>
>><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>> <xsl:output indent="yes" omit-xml-declaration="no" standalone="yes" />
>> <xsl:template match="/">
>> <Setting>
>> <TitleList>
>> <xsl:apply-templates />
>> </TitleList>
>> </Setting>
>> </xsl:template>
>> <xsl:template match="TitleList/title">
>> <xsl:copy-of select="." />
>> </xsl:template>
>></xsl:stylesheet>
>>
>>
>>
>>(案2) DataSet.WriteXml に頼らず、自分で XML を組み立てる。
>>
>>Dim xml = <?xml version="1.0" standalone="yes"?>
>> <Setting>
>> <TitleList>
>> <%= From s In TextBox1.Lines Select <title><%= s %></title> %>
>> </TitleList>
>> </Setting>
>>xml.Save("C:\SettingList.xml")
解決済み
引用返信 編集キー/
■38880 / inTopicNo.5)  Re[4]: DataSetで特定の要素をまとめてXMLに出力するには
□投稿者/ みきぬ (558回)-(2009/07/27(Mon) 10:45:52)
老婆心ながら申し上げますが…。

同じ名前を使って質問を連発するのは恥ずかしいって意識があるから名前を変えて投稿するのかなーと思いますが、
それがばれちゃったほうがよっぽど恥ずかしいから、やめたほうがいいですよ?

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -