读写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>
  ......
需要dom4j.jar文件 ,自行下载。 test.xml 1: <?xml version="1.0" encoding="gbk"?>
2:
3: <students>
4: <person sex="男" age="21">
5: <id>1</id>
6: <name>章治鹏</name>
7: <homepage&g ......
对于小型数据存储很方便。
但多了就要遇到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));
......
作者: J. Andrew Schafer
这篇文章假设你对 XML, XSLT, 和 C# 熟悉
下载这篇文章的源代码: XMLC.exe (76KB)
译者说明:这篇文章是很早以前就发表了,它提供的源代码是基于 VS.net 测试版(RTM 和 Beta 2)的。
摘要
C# 允许开发人员在源代码中插入XML注释,这在多人协作开发的时候显得特别有用。 ......