簡體   English   中英

讀寫XML

[英]Reading and writing XML

我正在從事C#和Android庫項目。 我基本上想做的是在Android中編寫一個庫,該庫會將崩潰詳細信息發送給我的服務器。

然后,我有一個C#控制台應用程序,該應用程序在服務器上運行,並處理Android接收到的數據,並根據該數據生成XML文件,以便另一個程序可以讀取XML文件並提供月度報告。

不過,我一直停留在編寫和讀取XML的最佳方法上。

我已經閱讀了很多有關它的內容,並發現了諸如XMLWriterXMLSerializer類的各種東西,但是我不知道哪種方法最有效,也不完全了解它們的實現方式。

下面是如何編寫XML文件的基本設計,這是我手動編寫的,目的是為了了解我想要實現的目標。

<?xml version="1.0" encoding="utf-8" ?>
<apps>
  <app>
    <MyApp>
      <appID>1</appID>
      <applicationID>0027598641</applicationID>
      <platform>Android</platform>
      <CrashDetails>
        <Exceptions>
          <Exception>
            <CrashID>55</CrashID>
            <ExceptionType>NullPointerException</ExceptionType>
            <FullException>NullPointerException at line 2</FullException>
            <StartDate>01-11-2013 09:52:00</StartDate>
            <EndDate>02-11-2013 14:43:13</EndDate>
            <AppVersionName>6.1.1.6</AppVersionName>
            <stacktrace>NullPointerException at line 2 com.MyCompany.MyApp.MyClass.MyMethod</stacktrace>
            <Severity>Critical</Severity>
            <OccurrenceCount>9</OccurrenceCount>
          </Exception>
          <Exception>
            <CrashID>56</CrashID>
            <ExceptionType>NullPointerException</ExceptionType>
            <FullException>NullPointerException at line 2</FullException>
            <StartDate>01-11-2013 09:52:00</StartDate>
            <EndDate>02-11-2013 14:43:13</EndDate>
            <AppVersionName>6.1.1.6</AppVersionName>
            <stacktrace>NullPointerException at line 2 com.MyCompany.MyApp.MyClass.MyMethod</stacktrace>
            <Severity>Critical</Severity>
            <OccurrenceCount>9</OccurrenceCount>
          </Exception>
        </Exceptions>
      </CrashDetails>
    </MyApp>
    <MyApp1>
      <appID>2</appID>
      <applicationID>4844354</applicationID>
      <platform>Android</platform>
      <CrashDetails>
        <Exceptions>
          <Exception>
            <CrashID>55</CrashID>
            <ExceptionType>NullPointerException</ExceptionType>
            <FullException>NullPointerException at line 2</FullException>
            <StartDate>01-11-2013 09:52:00</StartDate>
            <EndDate>02-11-2013 14:43:13</EndDate>
            <AppVersionName>6.1.1.6</AppVersionName>
            <stacktrace>NullPointerException at line 2 com.MyCompany.MyApp.MyClass.MyMethod</stacktrace>
            <Severity>Critical</Severity>
            <OccurrenceCount>9</OccurrenceCount>
          </Exception>
        </Exceptions>
      </CrashDetails>
    </MyApp1>
  </app>
</apps>

感謝您的任何幫助,您可以提供。

我們的團隊通常使用LINQ to XML,這提供了一種處理XML數據的強大方法(包括從文件加載XML,解析XML流,創建XML文檔以及將XML寫入/保存到文件中。)

以下鏈接很好地概述了LINQ to XML
http://www.dreamincode.net/forums/topic/218979-linq-to-xml/

此外,您可能會發現下一頁的“ XML部分”部分很有幫助
http://www.codeproject.com/Articles/24376/LINQ-to-XML

問候

就個人而言,我更喜歡將LINQ to XML用於C#中任何與XML相關的東西。 您可以創建XML Trees ,然后將這些樹持久化/序列化為 file, XmlWriter或其他類型的流。

但是在需要高性能的情況下,我更喜歡使用StringBuilder類和字符串串聯操作來創建XML。

暫無
暫無

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

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