VC读写XML文件
今天对XML文件进行了一些简单的读写操作,下面来具体实现步骤:
首先:建立一个基于Dialog的MFC工程,工程名为OperateXML,然后在对话框上添加两个按钮("Create"和"GetData"和一个ListControl
控件(用来显示数据),首先要导入库文件
#import "msxml3.dll"
using namespace MSXML2;
主要用来实现XML文件的相关操作,
双击"Create"按钮进入代码编写,代码如下:
void COperateXML::OnBtnCreate()
{
// TODO: Add your control notification handler code here
::CoInitialize(NULL); //初始化COM
MSXML2::IXMLDOMDocumentPtr pDoc;
MSXML2::IXMLDOMElementPtr xmlRoot;
HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));
if(!SUCCEEDED(hr))
{
MessageBox("Error");
return;
}
pDoc->raw_createElement((_bstr_t)(char*)"china", &xmlRoot);
pDoc->raw_appendChild(xmlRoot, NULL);
MSXML2::IXMLDOMElementPtr childNode;
pDoc->raw_createElement((_bstr_t)(char*)"city", &childNode);
childNode->Puttext("shanghai");
childNode->setAttribute("population", "7000");
childNode->setAttribute("area", "2000");
xmlRoot->appendChild(childNode);
pDoc->raw_createElement((_bstr_t)(char*)"city", &childNode);
childNode->Puttext("beijing");
childNode->setAttribute("population", "39999");
childNode->setAttribute("area", "3322");
xmlRoot->appendChild(childNode);
pDoc->save("D:\\test.xml");
}
双击"GetData"按钮进入代码编写,代码如下:
void COperateXML::OnBtnGet()
{
// TODO: Add your control notification handler code here
m_list.DeleteAllItems();
MSXML2::IXMLDOMDocumentPtr pDoc;
HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument30));
if(!SUCCEEDED(hr))
{
MessageBox("Error!");
return;
}
pDoc->load("D:\\test.xml");
MSXML2::IXMLDOMElementPtr childNode;
childNode = (MSXML2::IXMLDOMElementPtr)(pDoc->selectSingleNode("//city"));
MSXML2::DOMNodeType nodeType;
childNode->get_nodeType(&nodeType);
MSXML2::IXMLDOMNamedNodeMapPtr pAttrs = NULL;
MSXML2::IXMLDOMNode
相关文档:
当你解析XML时,是否会因为命名空间的存在而不能得偿所愿呢?
java方面,好多人推荐用dom4j处理xml,我也就说说在dom4j上处理带命名空间的xml
xml代码example: 再说前三种方法,也是从网上看来的。http://www.cnblogs.com/patrickchen/articles/1188920.html
D: eport.css
第一个方案.设置你的xpath的命名空间setNamesp ......
1. Jaxp 解析xml文件 Dom方式
<?xml version="1.0" encoding="gbk"?>
<students>
<student id="001">
<name>张三</name>
<age>25</age>
</student>
<student id="002">
<name>李四</name>
& ......
研究E4X与Flex的关系,所以打算总结一下,有说的不对的地方,还请大家多多原谅。
一、最简单模式:Flex通过httpservice和dataProvider进行数据传输
Xml格式如下:
<?xml version="1.0" encoding="utf-8" ?>
<Result>
<NodeA>value1</NodeA>
<NodeB>valve2</NodeB>
…&he ......
最近写的插件用到了dom4j,来读写,修改文档。用到的功能都写出来了
下面包含了两个程序 WriteFriendsInfo,和 ReadFriendsInfo。
1.WriteFriendsInfo 包含了新建xml和修改,删除xml节点的方法
一些要点:
WriteFriendsInfo 中修改节点采用的方式是删除节点,然后把新的节点写进去。在不对读 ......
kXML是一个J2ME平台下使用的XML语法分析程序,对于J2ME应用程序非常适合。它有一个非常独特的DOM操作方法和被称为Pull的语法分析方法。它有以下特性:
· 支持XML名称空间
· 用"松散"模式分析HTML或其它SGML格式
· 占用很少的存储空间(21 kbps)
· 基于Pull的分析
......