首页 > 代码库 > 处理XML

处理XML

      虽然被JSON抢了风头,但XML仍旧非常重要。看得见的,看不见的,XML在很广泛的领域对我们发挥着影响。


      修改XML文件,是我经常遇到的事情。方式从手动在Visual Studio或者Notepad++中修改,到利用Xslt处理,到利用PowerShell处理,最后到利用C#处理。准备时间越短的,处理时间越长;反之亦然。


      Notepad++自然是可以直接查找替换,但是这完全是个体力活。

      Xslt处理在改变文档结构、元素顺序方面是高手。它除了输出XML外,还经常输出HTML和Text文件。

      PowerShell处理XML文档的优点是,你看到的始终是一棵DOM树。可以随意修改元素和属性值。此外可以利用.Net框架类使它在很细的粒度上处理很复杂的逻辑。这一点上它几乎等同于C#。

      C#相对于PowerShell来说,优势和劣势都很明显。劣势是它只在调试状态下才能看到DOM树。优势是可以利用LINQ,以及它在处理大量数据时的效率。熟悉数据库而已不熟悉XPath的童鞋会习惯于以类似SQL的方式来处理XML。此外,当要处理的文档数目超过1000个或者单个文档的大小大于100M的时候,C#会比PowerShell的处理速度快百倍千倍。

      童鞋们可以按图索骥啦。

处理XML