读写XML文件
原文:使用 MSXML 分析器处理 XML 文档
#include <atlbase.h>
#include <iostream>
using namespace std;
//<?xml version="1.0"?>
//<xmldata>
//<xmlnode />
//<xmltext>Hello, World!</xmltext>
//</xmldata>
void main()
{
//初始化COM运行库
CComPtr<IXMLDOMDocument> spXMLDOM;
HRESULT hr = CoInitialize(NULL);
hr=spXMLDOM.CoCreateInstance(__uuidof(DOMDocument));
if (FAILED(hr))
throw "Unable to create XML parser object!";
if(spXMLDOM.p==NULL)
throw "Unable to create XML parser object!";
//将XML文档加载到分析器
VARIANT_BOOL bSuccess=false;
hr=spXMLDOM->load(CComVariant(L"1.xml"),&bSuccess);
if(FAILED(hr))
throw "Unable to load XML document into the parser!";
if (!bSuccess)
throw "Unable to load XML document into the parser!";
//查找节点
CComBSTR bstrSS(L"xmldata/xmlnode");
CComPtr<IXMLDOMNode> spXMLNode;
hr=spXMLDOM->selectSingleNode(bstrSS,&spXMLNode);
if (FAILED(hr))
throw "Unable to locate 'xmlnode' XML node!";
if (spXMLNode.p == NULL)
throw "Unable to locate 'xmlnode' XML node!";
//在该节点下创建子节点
CComPtr<IXMLDOMNode> spXMLChildNode;
hr=spXMLDOM->createNode(CComVariant(NODE_ELEMENT),CComBSTR("xmlchildnode"),NULL,&spXMLChildNode);
if(FAILED(hr))
&
相关文档:
XML 作为数据源的实例(TESTED)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" preinitialize="preInit()" fontSize="12" height="500">
<mx:Script>
  ......
using System;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.IO;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
// 添加引用 -> .NET -> Microsoft.Office.Interop.Excel(2003->11.0, 2007->12.0)
namespace WinFormTable
{
& ......
首先我们给出一段示例程序:
import
java.io.File;
import
java.io.FileWriter;
import
java.util.Iterator;
import
org.dom4j.Document;
import
org.dom4j.DocumentHelper;
import
org.dom4j.Element;
import
org.dom4j.io.OutputFormat;
import
org.dom ......
对于小型数据存储很方便。
但多了就要遇到IO瓶颈。
另外,XML格式比较通用。
一般来说,复杂型的数据存储还是用数据库好些。处理方便。而且效率高。
通用性强,可以在任何平台上使用。小型的数据都可以使用XML。
缺点就是有一个缓存的问题
1)XML可以用于本地计算的数据。传递到桌面的数据可以进行本地计算。XM ......
public sealed class XmlHelper
{
public static void Serialize<T>(T obj,string fileName)
{
TextWriter writer = new StreamWriter(fileName);
try
{
XmlSerializer ser = new XmlSerializer(typeof(T));
......