繁体   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