2016-03-30 14 views
-5
<?xml version="1.0" standalone="yes"?> 
<tabWyt> 
    <Table1> 
    <LP>3818326</LP> 
    </Table1> 
    <Table1> 
    <LP>3818327</LP> 
    <BLOCK>CASH</BLOCK> 
    <ARBPL>JMSMF01 </ARBPL> 
    </Table1> 
    <Table1> 
    <LP>3818328</LP> 
    <BLOCK>CACH</BLOCK> 
    <ARBPL>JMSMF01 </ARBPL> 
    </Table1> 
    <Table1> 
    <LP>3818329</LP> 
    <BLOCK>CACH</BLOCK> 
    <ARBPL>JMSMF01 </ARBPL> 
    </Table1> 
    <Table1> 
    <LP>3818330</LP> 
    <BLOCK>CACH</BLOCK> 
    <ARBPL>JMSMF01 </ARBPL> 
    </Table1> 

こんにちは私が行っている場合は、私はエラーが私たちに負担してください。 xmlファイル(LP)から最大の価値を得て、それを次のインクリメントのxmlファイルの先頭として使用したいと考えています。ここにファイルxmlの最大値を読み込み、別のxmlファイルの値からインクリメントする方法

+0

まあ、私は、XMLにLINQを使用してLPの子孫を選択し、整数のシーケンスに要素のシーケンスを変換した後、マックスを使用したい:ここ

var newXmlString = new Xml(Serializer.SerializeToXml(myTabWyt)); Console.WriteLine(newXmlString.PrettyXml); 

は公共要旨です。あなたはまだそれを試しましたか? –

+0

これはフォーラムではありません。答えることができる質問を書くことを検討してください。私たちは、a)すべての入力と、b)これまでに行ったことを知る必要があります。あなたはこれらのことのいずれかを持っていません。 – Hogan

+0

は、C#でプログラミングを始めたばかりですが、ロードされたプロシージャでXMLファイルを作成するWindowsアプリケーションを作成しますか?次に、xmlファイル(値LP)から最大値を取得し、別の値(LP)の値のインクリメントを開始します – SeTo

答えて

0

あなたが増分したいので、Listから継承するTable1オブジェクトとtabWytオブジェクトを作成します。

[XmlRoot("tabWyt")] 
public class TabWyt : List<Table1> 
{ 
    public int GetNextLp() 
    { 
     return Count > 0 ? this.Max(o => o.Lp) + 1 : 0; 
    } 

    new public void Add(Table1 t) 
    { 
     t.Lp = Math.Max(GetNextLp(), t.Lp); 
     base.Add(t); 
    } 
} 

注:上記のキーは、これを処理する新しいAddメソッドを作成することです。

public class Table1 
{ 
    [XmlElement("LP")] 
    public int Lp { get; set; } 
    [XmlElement("BLOCK")] 
    public string Block { get; set; } 
    [XmlElement("ARBPL")] 
    public string Arbpl { get; set; } 
} 

これで、XMLを逆シリアル化できます。私は、シリアライズとデシリアライズここに行くことはありませんが、あなたはこれを読むことができます:(http://www.rhyous.com/2010/04/29/generic-xml-serializer-class-for-c-and-an-xml-serialization-usage-example/

var myTabWyt = Serializer.DeserializeFromXml<TabWyt>(ref xmlString); 

は、次に逆シリアル化後、あなたがリストを持って、あなたは単にそれに追加することができます。

myTabWyt.Add(new Table1{ Block="ABC", Arbpl = "XYZ01"}); 

次に、Xmlを再作成するには、それをシリアル化するだけです。私はまた、簡単にそれをかなりxmlにすることができるように、Xmlオブジェクトにラップしました。 https://gist.github.com/rhyous/5176671fe33113bbc9808eb6e76ab1e6

+0

リウウスは私のことを意味してくれてありがとう – SeTo

+0

あなたは大歓迎です。 Xmlを解析する方法はたくさんあり、どこから始めたらいいか分かりにくく混乱する可能性があるため、出発時にXmlを学ぶのは難しいです。 – Rhyous

関連する問題