读写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))
&
相关文档:
基于dom4j的XML格式转化类
package com.lixi.util;
import java.io.BufferedWriter;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import org.dom4j.Document;
import org.do ......
XML How to Program
Beginning Xml Databases
Beginning XSLT and XPath Transforming XML Documents and Data
ASP.NET 2.0 XML
XML 手册 4th Edition
XML Schema Complete Reference
......
写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML库,而且它同时支持多种编程语言;2)LIBXML2库的Tutorial写得不太好,尤其是编码转换的部分,不适用于中文编码的转换;3)网上的大多数关于Libxml2的介绍仅仅是翻译了自带的资料,没有详细介 ......
在很多情况下, 我们会用到XML,比如说配置文件等.C#提供了XML类.
这里我只是简单的写一下XML文件的生成,解析就不多说了.
第一种方法
DataBase db = DataBaseFactory.CreateDataBase(DataBaseType.MySql, strMysql);
......
private
NodeList root(
final
String url ,
final
String str){
NodeList root =
null
;
try
{
InputSource is=
new
InputSource(
new
InputStreamReader(
new
UR ......