在C++中如何用schema校验xml文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C++中如何用schema校验xml文件相关的知识,希望对你有一定的参考价值。

我现在生成了一个xml文件,别人给我提供了一个schema模式文件,要求我的xml文件必须符合schema文件,现在我需要在C++环境下校验我生成xml文件,请问在C++环境下,如何操作这个过程

如果提供示例代码,加送200分
“或者自己按照schema写个解析XML的功能,去解析你的XML,来检查”
我就是想要这个方面的示例程序,如果能够提供给我有用的代码,我所有的分数都给他,再次感谢

schema 是一个XML的规格,类似说明书,他规定了你的根节点叫啥,
下面有什么子节点,每个节点都有什么属性。
而你对应这个schema规格的XML必须按照要求去生成,就是你的根节点、子节点、属性 要跟它完全一致。

校验的方式很简单,一。自己对照着看看就行了,
或者自己按照schema写个解析XML的功能,去解析你的XML,来检查.
参考技术A 使用一些XML类库吧,我知道微软有一套MSXML可以使用的 参考技术B 如果不用现成的C++ DLL的话,个人认为自己研发用perl更简单实用。

c++中如何用函数传递fstream类型

就是在一个函数中..我想要传递一个fstream类型的形参...不过总是成功不了!~有谁能给个例子么?~!!谢谢~~~

用 fstream 类型作为函数的参数传递时, 由于fstream的拷贝构造函数 是private, 因此在传递参数时,fstream不允许调用其拷贝构造函数,则编程写为下面这种形式会报错:

void Openfile(fstream f)



编译时会出现错误:
error C2248: “std::basic_ios<_Elem,_Traits>::basic_ios”: 无法访问 private 成员(在“std::basic_ios<_Elem,_Traits>”类中声明)
因此在用 fstream作为参数时,应为引用,如:
void Openfile(fstream & f)
参考技术A #include<iostream>
#include<fstream>
#include<assert.h>
using namespace std;
void func(fstream &);
int main(void)

fstream fp;
fp.open("x.txt",ios::in|ios::out);
assert(fp.is_open());
func(fp); //你要的
return 0;

void func(fstream &fp)

cahr ch[12]="记得要创建x.txt,不然可能错误";
for(int i=0;i<12;i++)
fp.puts(ch[i]);
fp.close();

//由于我这没有编译器,要是错误给我发信息本回答被提问者采纳
参考技术B 例如定义函数:void fun(你要传的参数类型) 参考技术C 形参要用引用传递:fstream &fs
呵呵
参考技术D void func(fstream &fs);

以上是关于在C++中如何用schema校验xml文件的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中如何用DOM4J将一个字符串解析成XML格式

MenuStrip控件中如何用代码的方式添加二级菜单,想在编辑菜单下添加子项,怎么添加?

xml约束技术---schema

用xerces-c来进行xml schema校验

Spring怎么查找xml和schema约束

XML Schema 到 C++ 类 [关闭]