0

「=」記号で区切られたキーと値のペアを含むリスト ボックス コントロールがあります。

例:

暑い=寒い

速い=遅い

高=低

青=赤

ユーザーがこのリストを XML でエクスポートできるようにするボタンもあります。どうすれば簡単にできますか?

XML ファイルを作成するには、どのような形式にする必要がありますか?

4

4 に答える 4

2

LINQ を使用できます。

var xml = new XElement("Items",
    from s in strings 
    let parts = s.Split('=')
    select new XElement("Item", 
        new XAttribute("Key", parts[0]), 
        parts[1]
    )
);
于 2011-09-01T15:14:42.510 に答える
1

次のように、LINQ を使用して項目を XML にエクスポートできます。

<asp:ListBox ID="listBox" runat="server">
    <asp:ListItem Text="Joe" Value="1" />
    <asp:ListItem Text="Jay" value="2" />
    <asp:ListItem Text="Jim" Value="3" Selected="true" />
    <asp:ListItem Text="Jen" Value="4" />
</asp:ListBox>

EDIT : 古いメソッドを LINQ to XML を使用するメソッドに置き換えました。

public XDocument ParseListBoxToXml()
{
    //build an xml document from the data in the listbox
    XDocument lstDoc = new XDocument(
        new XElement("listBox",
            new XAttribute("selectedValue", listBox.SelectedValue ?? String.Empty), new XAttribute("selectedIndex", listBox.SelectedIndex), new XAttribute("itemCount", listBox.Items.Count),
            new XElement("items",
                from ListItem item in listBox.Items
                select new XElement("item", new XAttribute("text", item.Text), new XAttribute("value", item.Value), new XAttribute("selected", item.Selected))
                )
            )
        );

    //return the xml document
    return lstDoc;
}

上記のメソッドからの XML 出力は次のとおりです。

<listBox selectedValue="3" selectedIndex="2" itemCount="4">    
    <items>
        <item Text="Joe" Value="1" Selected="false" />
        <item Text="Jay" Value="2" Selected="false" />
        <item Text="Jim" Value="3" Selected="true" />
        <item Text="Jen" Value="4" Selected="false" />
    </items>
</listBox>
于 2011-09-01T15:29:38.503 に答える
0

XML ファイルの書き方については、このチュートリアルをご覧ください。
またはXElement、SLaks の提案に従って使用し、その Save() メソッドを使用して Xml-File/-Data を取得します。そのメソッドを使用して、応答ストリームに直接書き込むこともできます。

于 2011-09-01T15:15:19.937 に答える