名前と値のペアの形式でデータをまとめたものをXMLでどのように構築できますか?名前の値のペアをxmlに変換する
例:
タイトル:ミスター
名:ジョン
姓:Doeの
として有効なXML sililarへ:
あなたが使用していると仮定すると、<Data>
<Title>Mr</Title>
<Name >John</Name >
<Surname >Doe</Surname >
</Data>
名前と値のペアの形式でデータをまとめたものをXMLでどのように構築できますか?名前の値のペアをxmlに変換する
例:
タイトル:ミスター
名:ジョン
姓:Doeの
として有効なXML sililarへ:
あなたが使用していると仮定すると、<Data>
<Title>Mr</Title>
<Name >John</Name >
<Surname >Doe</Surname >
</Data>
あなたは
var data=nameValuePair.Value;
var xelement=new XElement("Data",
new XElement("Title",data.Title),
new XElement("Name",data.Name),
new XElement("Surname",data.Surname));
System.Linq.Xml
でのXElementを使用すると、あなたが質問この回答をないことができますか?私は.net 2.0を使用しています – raklos
それは恥ずかしがり、XMLへのLinqは3.5にアップグレードする価値があります。 –
何をしても、XML対応のAPIを使用してください。単に文字列を読んでタグ間に書き込むだけではいけません。それは便利なので魅力的ですが、XMLを適切に生成するために文字とエンティティのエンコーディングについて心配する必要があります。
クラスを作成し、すべてのデータが言った形&に常にある場合は、それの束を持って
XElement xe = new XElement("Data", from kvp in dict
select new XElement(kvp.Key, kvp.Value));
..あなたは、キー値のようなpairs..somethingと辞書を持っていると仮定すると メンバーは&でXMLにシリアル化します。この構文で
public class test
{
public string title;
public string name;
public string surname;
}
void main()
{
List<test> t = new List<test>();
test t1 = new test();
t1.title = "Mr.";
t1.name = "John";
t1.surname = "Doe";
.
.
.
test tn = new test();
t.Add(t1);
t.Add(t2);
.
.
.
.
t.Add(tn);
//Serialize to xml.
try
{
using (FileStream fs = new FileStream(szFileName, FileMode.Create))
{
XmlSerializer xs = new XmlSerializer(typeof(List<test>));
xs.Serialize(fs, t);
}
}
catch(Exception Ex)
{
Messagebox.Show(Ex.ToString());
}
//And deserialize the data from xml to objects
try
{
using (System.IO.FileStream fs = new FileStream(szDataFile,FileMode.Open))
{
System.Xml.Serialization.XmlSerializer xs = new XmlSerializer(typeof(List<test>));
List<test> t1 = new List<test>();
t1 = xs.Deserialize(fs) as List<test>;
}
}
catch(Exception Ex)
{
Messagebox.Show(Ex.ToString());
}
}
使用Gelatin:
define nl /[\r\n]/
define ws /\s+/
define fieldname /\w+/
define value /[^\r\n,]/
grammar input:
match nl:
do.skip()
match fieldname ':' ws value nl:
out.add('$0', '$3')
あなたが見たい変換の例を与えています。実際にコードを書く方法を尋ねていますか?これまでに何を試しましたか? –
新しいxmlユーザーの最大の落とし穴は、あなたが見たいと思うようにxmlを突き詰めようとしていることです。私のアドバイス:それが動作する限り、それは動作しますが、動作させる。それが見えるべきであると思う方法を「見る」ようにするのを止めなさい。その何も無駄な時間。 – Will
@Will:ACK。たいていの場合、シリアライズされたXML *が気になるのは、XMLがテキストであり、テキストツール(正規表現のような)で扱うことができないという深い誤解を意味します。間違いを犯すと、出力XMLがどのようにレンダリングされるかを気にし始めます。 – Tomalak