簡體   English   中英

比較兩個XML字符串

[英]Compare two XML strings

給定以下示例xml字符串:

<bookstore xmlns="http://www.contoso.com/books">
  <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
    <title>The Autobiography of Benjamin Franklin</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>8.90</price>
  </book>
  <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>15.11</price>
  </book>
</bookstore>

如果我這樣更改它:

<bookstore xmlns="http://www.contoso.com/books">
  <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
    <title>CHANGE HERE1</title>
    <author>
      <first-name>Benjamin</first-name>
      <last-name>Franklin</last-name>
    </author>
    <price>10.90</price>
  </book>
  <book genre="novel" publicationdate="2050-11-17" ISBN="0-201-63361-2">
    <title>The Confidence Man</title>
    <author>
      <first-name>Herman</first-name>
      <last-name>Melville</last-name>
    </author>
    <price>15.11</price>
  </book>
</bookstore>

我想獲取包含我的更改的字典,即:

=>舊值,新值

  • book1 => title:本傑明·富蘭克林自傳| 在這里更改
  • book1 =>價格:8.90 | 10.90
  • book2 =>出版日期:1967-11-17 | 2050年11月17日

我該怎么辦。 除了字符串比較,還有其他想法嗎? 我嘗試使用XML Diff,但它返回XML文檔,但沒有有關節點名稱的信息。

高層次的概念是這樣的:

  1. 創建一個實現INotifyPropertyChanged接口的Book類
  2. 將您的xml文件解析為IEnumerble您的案例字典<int,Book>(int是id)
  3. 當書籍屬性發生變化時,您可以直接訪問哪個道具更改了哪本書,並對更改后的書籍進行任何操作,例如添加到新的字典中

許多很好的例子,包括 msdn: http : //msdn.microsoft.com/zh-CN/library/system.componentmodel.inotifypropertychanged( v=vs.110) .aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM