如何替换 ![CDATA[]]节点的值?

menghuanzhongqu 2006-02-05 10:53:32
xml文件已经写好了,我现在要将其中"正文"节点下的![CDATA[]]里面的文本进行替换,请问要如何实现?谢谢大家,请帮忙!

 xml文件如下:
  
   <主体>
 <标题></标题>
 <副标题></副标题>
 <主送机关></主送机关>
 <正文 文件名="" 名称="正文" 编码方式="HTML" 数据类型="HTML" 数据格式="HTML"><![CDATA[替换这里的文本]]></正文>
    </主体>

...全文
237 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cds27 2006-02-06
  • 打赏
  • 举报
回复
node=xmlDoc.selectSingleNode("//正文");
node.firstChild.text="这就是CDATA中的内容";
menghuanzhongqu 2006-02-06
  • 打赏
  • 举报
回复
谢谢
搞定了

node=xmlDoc.selectSingleNode("//正文");
node.firstChild.InnerText="这就是CDATA中的内容";
不是node.firstChild.text。
xjdawu 2006-02-05
  • 打赏
  • 举报
回复
oXMLDOMNode.selectSingleNode("正文") //得到节点
IXMLDOMCDATASection.replaceData(offset, count, data); //调用替换方法
menghuanzhongqu 2006-02-05
  • 打赏
  • 举报
回复
主要的问题是我要替换的内容中是html代码啊,在xml里,< 、>这些替换后会变成 < 这样的字符来,所以要用到![CDATA[]]语法
孟子E章 2006-02-05
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/CHS/cpref/html/frlrfSystemXmlXmlNodeClassReplaceChildTopic.asp
gu1dai 2006-02-05
  • 打赏
  • 举报
回复
直接将整个节点替换掉不久得了。
用新值create 节点。
replace
gu1dai 2006-02-05
  • 打赏
  • 举报
回复
节点.text.
menghuanzhongqu 2006-02-05
  • 打赏
  • 举报
回复
其他节点我是这样做的:
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("../WebForms/TEXTXML.xml"));
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("ab", "http://www.egs.org.cn/eGovDoc/body");

XmlNode bt = doc.SelectSingleNode("//ab:标题", nsmgr);
if(bt!=null)
 {

  bt.InnerText= 值;

 }

好像没有 .replaceData 的方法,后面所传的参数是什么?
//XmlNode.h //版本:V1.01测试版 //为帮助作者完善XmlNode,希望大家讲错误发送给作者,以完善其功能 #ifndef XML_NODE_H #define XML_NODE_H #define XML_OBJECT_TYPE_ERROR 0x00 //节点类型错误 #define XML_OBJECT_TYPE_DOCUMENT 0x01 //节点类型为文档,即为xml根节点,用于记录文件路径 #define XML_OBJECT_TYPE_DECLARATION 0x02 //节点类型为描述 #define XML_OBJECT_TYPE_ATTRIBUTE 0x03 //节点类型为属性 #define XML_OBJECT_TYPE_COMMENT 0x04 //节点类型为注释 #define XML_OBJECT_TYPE_CHAR_DATA 0x05 //节点类型为不被解析的字符数据 #define XML_OBJECT_TYPE_ELEMENT 0x06 //节点类型为子节点 #define XML_OBJECT_TYPE_VALUE 0x07 //节点类型为节点 #define XML_OBJECT_TYPE_MAX 0x07 //节点类型的最大 #include #include using namespace std; class __declspec(dllexport)CXmlNode { protected: CXmlNode(); public: ~CXmlNode(); public: /*************************************************** Type: static public Explain: 获取作者信息 Return: 作者信息 ***************************************************/ static string GetAuthorInfo(); /*************************************************** Type: static public Explain: 获取版本信息 Return: 版本信息 ***************************************************/ static string GetVersionInfo(); /*************************************************** Type: static public Explain: 读取xml文件 Para: [in] sPath xml文件路径 Return: 根节点指针。 Mark: 当读取xml文件失败时,返回0 ***************************************************/ static CXmlNode * LoadFile(string sPath); /*************************************************** Type: public Explain: 保存Xml文件 Para: [in] sPath xml文件路径,当sPath为空时,将默认保存在上次读取时的路径中 Return: 保存文件是否成功。 Mark: 如果当前节点为根节点,则记录的xml文件路径将被替换 如果当前节点不是跟节点,只保存当前节点和其所有子节点。为保证xml文件格式正确,将自动在Xml中添加声明 ***************************************************/ bool SaveFile(string sPath); /*************************************************** Type: public Explain: 保存Xml文件 Return: 保存文件是否成功。 Mark: xml文件保存路径为已经设置的路径,默认为打开文件时的路径,也可以通过SetValue函数修改路径,详见SetValue函数说明 如果当前节点为根节点,则记录的xml文件路径将被替换 如果当前节点不是跟节点,只保存当前节点和其所有子节点。为保证xml文件格式正确,将自动在Xml中添加声明 **********************
第2章(\代码\第02章) • sample01.htm 将JavaScript代码插入在标签与标签之间 • sample02.htm 将JavaScript代码放在了标签与标签之间 • sample03.htm JavaScript与HTML混合执行 • sample04.htm 在同一个网页中使用不同脚本语言 • sample05.htm 判断浏览器对JavaScript版本的支持情况 • sample06.htm 引用外部JavaScript • sample07.htm 在同一个HTML文档中多次引用外部脚本文件 • sample08.htm 使用外部脚本文件和嵌入的JavaScript代码 • sample09.htm 边加载边解析的JavaScript代码 • sample10.htm 先加载后解析的JavaScript代码 • sample11.htm 单行注释语句 • sample12.htm 多行注释语句 • sample13.htm 使用HTML注释语句隐藏JavaScript代码 • sample14.htm 提示用户浏览器不支持客户端脚本语言 • sample15.htm 直接执行的JavaScript代码 • sample16.htm 直接调用函数 • sample17.htm 使用“javascript:”语句调用函数或方法 • sample18.htm 通过事件调用JavaScript代码 • sample19.htm 一段错误的JavaScript代码(调试用) 第3章(\代码\第03章) • sample01.htm 转换成数字型 第4章(\代码\第04章) • sample01.htm 字符串直接量 • sample02.htm 使用转义字符 • sample03.htm 数组直接量的使用方法 • sample04.htm 数组直接量 • sample05.htm 函数直接量的使用方法 • sample06.htm 对象直接量 第5章(\代码\第05章) • sample01.htm 全局变量 • sample02.htm 在不同的语句块中使用全局变量 • sample03.htm 局部变量的使用方式 • sample04.htm 在函数体中定义全局变量 • sample05.htm 使用没有定义的变量 • sample06.htm 重复定义变量 • sample07.htm 引用未赋的变量 • sample08.htm 变量的优先级 • sample09.htm 随处定义的变量 • sample10.htm 随处定义的变量 • sample11.htm 嵌套函数中变量的有效范围 • sample12.htm 变量没有语句块的限制 • sample13.htm 常量的使用 第6章(\代码\第06章) • sample01.htm 先使用后递增 • sample02.htm 先递增后使用 • sample03.htm 先使用后递减 • sample04.htm 先递减后使用 • sample05.htm 字符串运算符 • sample06.htm 逻辑与运算符 • sample07.htm 逗号运算符 • sample08.htm 使用delete运算符删除变量 • sample09.htm 使用delete运算符删除对象属性 • sample10.htm 删除对象 • sample11.htm 使用delete运算符删除数组元素 • sample12.htm in运算符在对象中的使用 • sample13.htm in运算符在数组中的使用 • sample14.htm instanceof运算符 • sample15.htm new运算符 • sample16.htm this运算符 • sample17.htm this运算符 • sample18.htm void运算符 第7章(\代码\第07章) • sample01.htm 单支选择的if语句 • sample02.htm if…else语句 • sample03.htm if…else if语句 • sample04.htm if…else if…else语句 • sample05.htm if语句的嵌套 • sample06.htm if语句的嵌套(多次嵌套) • sample07.htm switch语句 • sample08.htm switch语句(省略default语句) • sample09.htm switch语句(不能省略的break语句) • sample10.htm for语句 • sample11.htm 逗号运算符与for语句的结合使用 • sample12.htm while语句 • sample13.htm do…while语句 • sample14.htm do…while语句与while语句的区别 • sample15.htm 遍历对象属性和数组元素 • sample16.htm 使用for each…in语句遍历对象属性和数组元素 • sample17.htm 对象的引用 • sample18.htm with语句 • sample19.htm with语句的等价代码 • sample20.htm label语句 • sample21.htm break语句 • sample22.htm 在嵌套的循环语句中使用break语句 • sample23.htm label语句与break语句相结合 • sample24.htm continue语句 • sample25.htm label语句与continue语句相结合 • sample26.htm 抛出异常 • sample27.htm 捕捉异常(捕捉使用throw语句抛出的异常) • sample28.htm 捕捉异常(捕捉JavaScript产生的异常) • sample29.htm 抛出不同的异常 • sample30.htm 抛出不同的异常(多catch语句块) • sample31.htm finally语句 • sample32.htm 空语句 • sample33.htm return语句 第8章(\代码\第08章) • sample01.htm 使用对象直接量创建自定义对象 • sample02.htm 使用对象直接量创建有方法的自定义对象 • sample03.htm 使用自定义构造函数创建对象 • sample04.htm 使用带参数的构造函数创建对象 • sample05.htm 创建对象时传递不完整的参数 • sample06.htm 使用有缺省的构造函数创建对象 • sample07.htm 使用带方法的构造函数创建对象 • sample08.htm 使用带方法的构造函数创建对象 • sample09.htm 遍历对象属性 • sample10.htm 遍历对象属性并获得属性 • sample11.htm 遍历对象属性和方法 • sample12.htm 遍历对象属性和方法时进行判断 • sample13.htm 遍历对象属性 • sample14.htm 索引对象属性 • sample15.htm 添加对象属性 • sample16.htm 删除对象属性 • sample17.htm 删除对象属性 • sample18.htm 将对象赋给对象属性 • sample19.htm 将对象赋给对象属性 • sample20.htm 添加方法 • sample21.htm 删除方法 • sample22.htm 引用原型对象 • sample23.htm 继承属性 • sample24.htm 设置继承的属性 • sample25.htm 通过原型对象修改对象属性 • sample26.htm 通过原型对象添加对象属性 • sample27.htm 本地属性与继承属性 • sample28.htm 灵活定义属性的方式 • sample29.htm 在构造函数中使用全局变量 • sample30.htm 在继承中使用全局变量 • sample31.htm 在继承中使用全局变量(一种解决办法) 第9章(\代码\第09章) • sample01.htm 布尔对象与布尔 • sample02.htm 布尔隐式转换为布尔对象 • sample03.htm 布尔与布尔对象的区别 • sample04.htm 复制一个布尔对象 • sample05.htm 将日期对象的日期部分和时间部分转换成字符串 • sample06.htm 将日期部分转换为字符串 • sample07.htm 将时间部分转换为字符串 • sample08.htm 将时间部分转换为字符串 • sample09.htm 获取日期对象中日期部分 • sample10.htm 获取日期对象中时间部分 • sample11.htm 以毫秒表示法设置和返回日期对象的毫秒表示法 • sample12.htm 获得当前时间的毫秒表示 • sample13.htm 获得指定时间的毫秒表示 • sample14.htm 日期之差 • sample15.htm 求圆的面积 • sample16.htm 数字对象与数字 • sample17.htm 字符串长度 • sample18.htm 创建字符串 • sample19.htm 字符串与Unicode编码 • sample20.htm 返回字符串中的一个字符 • sample21.htm 通过字符串的起始位置和结束位置来获得子字符串 • sample22.htm slice()方法的使用 • sample23.htm substr()方法的使用 • sample24.htm 查找子字符串在字符串中的位置 • sample25.htm 统计一个字符串在另一个字符串中出现的次数 • sample26.htm 使用正则表达式搜索子字符串 • sample27.htm 替换使用字符串查找到的子字符串 • sample28.htm 扩展字符串的匹配方式 • sample29.htm 使用正则表达式匹配要替换的子字符串 • sample30.htm 更多的替换字符串 • sample31.htm 将字符串分割成数组 • sample32.htm 转换大小写 • sample33.htm 与HTML相关的方法 • sample34.htm 字符串比较 • sample35.htm 修改字符串中的某一个字符 • sample36.htm 创建Object对象 • sample37.htm 返回对象的构造函数 • sample38.htm 判断对象的类型 • sample39.htm 执行字符串中的JavaScript代码 • sample40.htm 判断对象属性是否为自有属性 • sample41.htm 判断一个对象是否是另一个对象的原型对象 • sample42.htm 判断对象的属性是否可以被枚举 • sample43.htm 监视属性的变化情况 第10章(\代码\第10章) • sample01.htm 直接调用函数 • sample02.htm 将函数返回给对象属性 • sample03.htm 将函数的返回作为数据在表达式中进行运算 • sample04.htm 直接将函数的返回输出 • sample05.htm 通过事件调用函数 • sample06.htm 递归调用函数 • sample07.htm 递归调用函数(使用临时的函数名) • sample08.htm 传递参数的方法 • sample09.htm 传递参数个数多于函数定义的参数个数 • sample10.htm 传递参数个数少于函数定义的参数个数 • sample11.htm 传递参数个数少于函数定义的参数个数(使用默认) • sample12.htm Arguments对象的使用方法 • sample13.htm Arguments对象的使用方法 • sample14.htm 实际传送的参数个数和参数 • sample15.htm 定义不确定参数个数的函数 • sample16.htm 使用callee属性递归调用函数 • sample17.htm 判断参数个数是否正确 • sample18.htm 引用原型对象 • sample19.htm 查看构造函数名 • sample20.htm 判断函数调用情况 • sample21.htm 使用apply()方法将函数作为对象的方法调用 • sample22.htm 使用call()方法将函数作为对象的方法调用 • sample23.htm 函数的自定义属性 • sample24.htm 置换图片 • sample25.htm 检测一个是否是非数字 • sample26.htm 转换成整数 • sample27.htm 转换成整数(使用不同进制) • sample28.htm 字符串编码与解码 • sample29.htm URI编码与解码 • sample30.htm URI组件编码与解码 第11章(\代码\第11章) • sample01.htm 创建空数组 • sample02.htm 创建数组的同时为数组元素赋 • sample03.htm 创建指定长度的数组 • sample04.htm 将字符串分割成数组 • sample05.htm 数组元素的 • sample06.htm 输出数组的所有元素 • sample07.htm 输出数组的所有元素(使用for循环) • sample08.htm 输出数组的所有元素(使用for each循环) • sample09.htm 数组长度 • sample10.htm 添加数组元素 • sample11.htm 通过为数组元素赋的方法添加数组长度 • sample12.htm 删除数组元素的 • sample13.htm 通过改变数组长度来添加和删除数组元素 • sample14.htm 创建二维数组 • sample15.htm 将数组转换成字符串 • sample16.htm 将数组转换成本地字符串 • sample17.htm 通过连接符将数组元素连接成字符串 • sample18.htm 将元素添加在数组尾部 • sample19.htm 截取数组中的一部分 • sample20.htm 从前向后查找元素在数组中的位置 • sample21.htm 查找为5的元素 • sample22.htm 从后向前查找元素在数组中的位置 • sample23.htm 将数组中的元素颠倒排序 • sample24.htm 删除数组尾部元素 • sample25.htm 删除数组头部元素 • sample26.htm 在数组头部或尾部添加元素 • sample27.htm 在数组的任何位置添加数组元素 • sample28.htm 在数组的任何位置删除数组元素 • sample29.htm 替换数组中的元素 • sample30.htm 数组元素的排序 • sample31.htm 数组元素的排序(使用函数比较) • sample32.htm 颠倒数组中元素的次序 • sample33.htm 返回数组中大于50的元素(使用循环) • sample34.htm 返回数组中大于50的元素 • sample35.htm 查找数组中的元素 • sample36.htm 输出数组中的元素 • sample37.htm 判断数组中的元素是否都大于50 • sample38.htm 判断数组中的元素是否至少有一个大于50 • sample39.htm 返回数组中所有元素的平方 • sample40.htm 返回数组中元素之和 • sample41.htm 返回数组中元素之和(加上初始) • sample42.htm 返回数组中最大的元素 • sample43.htm 将二维数组转换成一维数组 • sample44.htm 返回数组中元素之和 • sample45.htm 两种不同的匹配方式 • sample46.htm 两种不同的匹配方式(使用g参数) • sample47.htm 返回用于创建数组的字符串 • sample48.htm 返回数组第1个元素出现的位置 第12章(\代码\第12章) • sample01.htm 客户端对象层次 • sample02.htm 通过name属性引用对象 • sample03.htm 通过数组下标引用对象 • sample04.htm 在HTML标签中设置事件驱动 • sample05.htm 在JavaScript代码中设置事件驱动 • sample06.htm 调用内置对象的方法 • sample07.htm 直接调用JavaScript代码 • sample08.htm 调用用户函数 • sample09.htm 在超链接中使用事件(使用click事件) • sample10.htm 在超链接中使用事件(click事件的处理代码为跳转网页的语句) • sample11.htm 在超链接中使用事件(将click事件处理语句写在href属性中) • sample12.htm 事件的返回 • sample13.htm this运算符与参数传递 • sample14.htm 鼠标移动事件 • sample15.htm 鼠标点击事件 • sample16.htm 键盘事件 • sample17.htm 限制文本框中输入的字数 • sample18.htm 加载事件与卸载事件 • sample19.htm 得到焦点与失去焦点事件 • sample20.htm 提交事件与重置事件 • sample21.htm 选择事件与改变事件 第13章(\代码\第13章) • sample01.htm 警告框 • sample02.htm 确认框 • sample03.htm 提示框 • sample04.htm 状态栏的默认信息 • sample05.htm 状态栏的瞬间信息 • sample06.htm 打开一个空白窗口 • sample07.htm 打开一个有内容的窗口 • sample08.htm 在命名窗口中打开文档 • sample09.htm 设置新开窗口的特征 • sample10.htm 不显示新开窗口的浏览历史 • sample11.htm 窗口名称 • sample12.htm 关闭当前窗口 • sample13.htm 在打开的窗口中关闭窗口 • sample14.htm 关闭其他窗口 • sample15.htm 判断窗口是否已经关闭 • sample16.htm 对其他窗口的引用 • sample17.htm 窗口得到焦点 • sample18.htm 移动窗口 • sample19.htm 调整窗口大小 • sample20.htm 滚动文档 • sample21.htm 在状态栏显示时间 • sample22.htm 跑马灯 • sample23.htm 延时注册 • sample24.htm 计数器 • sample25.htm 框架页 • sample26.htm 内置框架 • sample27.htm 框架数量 • sample28.htm 对框架页的引用 • sample29.htm 通过框架名对框架页的引用 • sample30.htm 复杂的框架页 • sample31.htm 在框架中对其他窗口的引用 • sample32.htm 操作新开窗口中的数据 第14章(\代码\第14章) • sample01.htm 在网页上输出文字 • sample02.htm write()和wirteln()的区别 • sample03.htm 输出文字时的注意事项 • sample04.htm 在内置框架中输入文字 • sample05.htm 在内置框架中输入文字(document.open()方法的使用) • sample06.htm 测试代码 • sample07.htm 测试代码(注销document.close()语句) • sample08.htm 输出文档 • sample09.htm 不覆盖当前浏览历史记录 • sample10.htm 覆盖当前浏览历史记录 • sample11.htm 超链接颜色 • sample12.htm 网页的前景色和背景色 • sample13.htm 最后修改时间与文档URL • sample14.htm 跑马灯 • sample15.htm referrer属性的使用 • sample16.htm 文档所在域 • sample17.htm 图片信息 • sample18.htm 置换图片 • sample19.htm 置换图片(使用this引用) • sample20.htm 随机图片 • sample21.htm 随机图片(与load事件结合) • sample22.htm 提示图片不存在 • sample23.htm 查看超链接的各部分 • sample24.htm 随机广告 • sample25.htm Anchor对象和Link对象的区别 第15章(\代码\第15章) • sample01.htm Form对象的属性 • sample02.htm 验证表单数据 • sample03.htm 确认提交和重置数据 • sample04.htm 将表单提交到不同的URL • sample05.htm 限制文本框中的输入字数 • sample06.htm 自动选择文本框中的文字 • sample07.htm 自动定位在第一个文本框 • sample08.htm 只允许提交一次 • sample09.htm 改变按钮上的文字 • sample10.htm 获取单选框与复选框的 • sample11.htm 限制复选框的被选择数量 • sample12.htm 全选或取消全选 • sample13.htm 使用下拉列表框提交表单 • sample14.htm 添加下拉列表框中的选项 • sample15.htm defaultSelected和selected的区别 • sample16.htm 选课 • sample17.htm 二级联动菜单 • sample18.htm 预览图片 • sample19.htm 下拉列表框中的选项排序 • sample20.htm 统计表单控件元素 第16章(\代码\第16章) • sample01.htm Screen对象的属性 • sample02.htm 满屏显示网页 • sample03.htm 判断浏览器是否支持Java • sample04.htm 浏览器的基本属性 • sample05.htm 显示浏览器的默认主页 • sample06.htm 查看浏览器支持的MIME类型 • sample07.htm 显示Flash • sample08.htm 跳转 • sample09.htm 加载和刷新文档 • sample10.htm 通过修改当前文档的URL来加载新文档 第17章(\代码\第17章) • sample01.htm 创建与读取Cookie • sample02.htm 读取Cookie • sample03.htm 精确读取Cookie • sample04.htm 精确读取Cookie(使用数组) • sample05.htm 设置Cookie的有效期 • sample07.htm Cookie的域 • sample08.htm Cookie的安全性 • sample09.htm 为Cookie编码 • readCookie.htm 读取Cookie • cookie\sample06.htm Cookie的路径 第18章(\代码\第18章) • sample01.htm DOM • sample02.htm 节点的访问方法 • sample03.htm Node对象的常量 • sample04.htm Document接口的属性 • sample05.htm 访问文档中的特殊节点 • sample06.htm 查看某个元素出现的次数 • sample07.htm 查看特定节点是否存在 • sample08.htm 查看指定id节点下的子节点 • sample09.htm 节点的名称 • sample10.htm 获得一个节点下的所有子节点 • sample11.htm 子节点与兄弟节点 • sample12.htm 节点 • sample13.htm 插入一个节点 • sample14.htm 插入一个节点(添加一个Text节点) • sample15.htm 插入一个节点(删除原节点) • sample16.htm 复制节点 • sample17.htm 在一个节点前插入节点 • sample18.htm 删除节点 • sample19.htm 删除节点(使用删除了的节点) • sample20.htm 获取节点名称 • sample21.htm 获得节点的属性 • sample22.htm 添加属性与删除属性 • sample23.htm 查看Element节点下的所有属性 • sample24.htm 获得节点的属性 • sample25.htm 添加属性与删除属性 • sample26.htm 改变文字 • sample27.htm 移动文字 第19章(\代码\第19章) • sample01.htm 使用正则表达式替换字符串 • sample02.htm 简单地匹配字符串 • sample03.htm 匹配字符串和子字符串 • sample04.htm 引用匹配成功的字符串 • sample05.htm 全局匹配 • sample06.htm 测试匹配是否成功 • sample07.htm RegExp的静态属性 • sample08.htm 验证邮政编码 • sample09.htm 验证身份证号码 • sample10.htm 验证电话号码 • sample11.htm 验证URL • sample12.htm 验证Email • sample13.htm 使用正则表达式和DOM结合 第20章(\代码\第20章) • sample01.htm 创建一个XMLHttpRequest对象 • sample02.htm 用户注册 第21章(\代码\第21章) • sample01.htm 使用JavaScript实现二级联动菜单 • sample02.htm 将下拉列表框内置于Iframe中 • sample03.htm 在Iframe中获取服务器端数据 • sample04.htm 使用Ajax从服务器端获取数据 • sample05.htm 使用get方式提交数据 • sample06.htm 使用post方式提交数据 • sample07.htm 在Ajax中使用post方式提交数据 • sample08.htm 在服务器端获得HTTP请求头 • sample09.htm 在客户端获得HTTP响应头 • sample10.htm 获取文件信息 • sample11.htm 获取服务器时间 • sample12.htm 砍掉Ajax的缓存 • sample13.htm 异步方式显示文档信息 • sample14.htm 在Ajax中使用同步处理 • sample15.htm 在Ajax中使用同步处理(改良后) • sample16.htm 网页的编码 • sample17.htm 网页的编码 • sample18.htm 网页的编码 • sample19.htm 读取不同编码的文本文件 • sample20.htm 获取动态网页程序返回的内容 第22章(\代码\第22章) • sample01.xml 完整的XML文件代码 • sample02.xml 无效的XML文件 • sample03.xml 空标签 • sample04.xml 无效的XML文件 • sample05.xml 区分大小写 • sample06.xml XML的属性 • sample07.xml 转义字符 • sample08.xml 注释 • sample09.xml CDATA标签 • sample10.htm 在IE浏览器中解析XML文件 • sample11.htm 在其他浏览器中解析XML文件 • sample12.htm 跨浏览器解析XML文件 • sample13.htm 在IE浏览器中解析XML字符串 • sample14.htm 在其他浏览器中解析XML字符串 • sample15.htm 跨浏览器解析XML字符串 • sample16.htm 创建解析XML文件的函数 • sample17.htm 创建解析XML字符串的函数 • sample18.htm 输出XML文档的信息 • sample19.htm 访问根节点 • sample20.htm 访问根节点下的所有子节点 • sample21.htm 定位到节点 • sample22.htm 输出节点与子孙节点 • sample23.htm 通过循环输出所有子节点信息 • sample24.htm 返回节点的属性 • sample25.htm 访问属性节点 • sample26.htm 获得元素节点的所有属性节点 • sample27.htm 获得元素节点的所有属性节点(跨浏览器) • sample28.htm 通过标签名查找节点 • sample29.htm 通过标签ID查找节点 • sample30.htm 修改节点 • sample31.htm 删除节点 • sample32.htm 创建与添加节点 • sample33.htm 将节点插入在指定节点之前 • sample34.htm 在文本节点和注释节点中添加数据 • sample35.htm 替换节点 • sample36.htm 替换节点 • sample37.htm 删除节点 • sample38.htm 复制节点 • sample39.htm 异步获取XML文件 • sample40.htm 处理从服务器上获取的XML文档 • sample41.htm 获取服务器中返回的XML文档 第23章(\代码\第23章) • sample01.htm 内联样式 • sample02.htm 内部样式 • sample03.htm 外部样式 • sample04.htm 注释 • sample05.htm 类选择符 • sample06.htm ID选择符 • sample07.htm 伪类 • sample08.htm 样式继承 • sample09.htm 样式层叠 • sample10.htm 样式冲突 • sample11.htm 使用CSS设计网页 • sample12.htm HTML、XML与CSS的结合使用 • sample13.htm HTML、XML与CSS的结合使用(改良后) • sample14.htm 修改文字大小 • sample15.htm 下拉菜单
1、snoics-reptile是什么? 是用纯Java开发的,用来进行网站镜像抓取的工具,可以使用配制文件中提供的URL入口, 把这个网站所有的能用浏览器通过GET的方式获取到的资源全部抓取到本地,包括网页和各 种类型的文件,如:图片、flash、mp3、zip、rar、exe等文件。可以将整个网站完整地下传至 硬盘内,并能保持原有的网站结构精确不变。只需要把抓取下来的网站放到web服务器 (如:Apache)中,就可以实现完整的网站镜像。 2、现在已经有了其他的类似的软件,为什么还要开发snoics-reptile? 因为有些在抓取的过程中经常会出现错误的文件,而且对很多使用 javascript控制的URL没有办法正确的解析,而snoics-reptile通过对外提供 接口和配置文件的形式,对特殊的URL,可以通过自由的扩展对外提 供的接口,并通过配置文件注入的方式,基本上能实现对所有的网页都 正确的解析和抓取。 3、如何使用? a、配置 bin\snoics-configpath.xml 文件 将配置文件中的path节点改为conf文件夹在系统中的绝对路径, 如: c:\snoics-reptile\conf b、配置 conf\snoics-systemconfig.xml 文件 其中parameters节点中的配置为对需要抓取的网站的参数的配置, 以下是各个参数的说明: 1、websitename: 站点的名称(不能为空,由字母和数字组成) 2、charsetName: 该站点使用的字符集类型 3、website: 将被抓取的站点的域名 4、startpage: 抓取的起始页面 5、url: 该站点中将被抓取的部分(如果留空则为整个站点,可以有多个URL, 每个URL之间使用";"隔开) 6、remoteurlflag: 代表远程URL的标志,没有特殊情况请不要修改此处,使用默认 (多个之间使用";"隔开) 7、forbidurl: 该站点中不被抓取的部分(多个之间使用";"隔开) 8、cachefile: 该站点使用的缓存文件,如果缓存文件不存在则自动创建一个新的, 如果已经存在,则会载入文件中保存的信息 9、filerootpath: 抓取下的文件的保存路径(必须是系统中的绝对路径) 10、indexpage: 将被保存成index.html文件名的URL类型(多个之间使用";"隔开) 11、filenamelength: 页面保存到本地时,随机生成的文件名的长度 12、cacheunitsize: 一个cache单元的大小 13、reptile-downloadfiletype: 将被抓取到本地的文件类型(多个之间使用";"隔开) 14、reptile-undownloadfiletype: 页面被保存到本地时,该种类型的文件的URL将被改成远程的URL地址 ,如果这种类型出现在reptile-downloadfiletype中时,则文件将被抓取到本地, 而URL也将改成本地的URL(多个之间使用";"隔开) c、在参数配置好之后,执行bin/run.bat文件 4、如何扩展接口? 扩展接口使用的配置文件是:conf/snoics-reptile-urlregex.xml 首先加入一段如下的配置 CDATA[<[^!<>]*\shref\s*=\s*["']?[^<>]*["'\s][^<>]*>]]> CDATA[<[^!<>]*\shref\s*=\s*["']?reptile-replace-string["'\s][^<>]*>]]> 其中ahrefGetRegexUrl是实现了com.snoics.reptile.regex.url.IGetUrlRegex接口的类,用来从可能包含了URL的字符串里面提取其中包含的URL 其次加入如下的配置: CDATA[href\s*=\s*["']?[^\s"]+["'\s]\s*]]> CDATA[javascript\s?:\s?;mailto\s?:\s?;^#$;]]> 最后,在如下的配置中,加入刚才配置好的部分 5、版本历史 2.0: 核心代码全部重写,增加了扩展性,通过扩展之后,基本上能实现对整个网站完整的解析 1.0: 实现了整站抓取的基本的功能,不能解析特殊的URL,对javascript无法辨认
内容简介 XQuery是专门针对XML的查询语言,其作用类似于关系数据库的SQL。   本书比较深入全面地介绍了XQuery相关知识,包括XQuery的概述和快速指南,如何使用XQuery编写简单和复杂的查询,如何对XML数据过滤、排序和分组,还讲述了FLWOR表达式、XPath及提取、组合数据的XQuery工具。本书的附录提供了XQuery的函数、内置类型及错误信息,因此可以作为XQuery编程指南。   本书的特点是用简洁的语言深入浅出地介绍了XQuery方方面面的知识,在讲述有些内容时把XQuery与其他广为人知的技术如SQL等相对比,使得读者可以很快上手。阅读本书只须要了解一些基础的XML背景知识。本书除了用于指导编程外,还可用作提高与优化XML数据检索性能的参考书。   本书不仅适合那些须要操作大量XML数据的程序员(不管是使用C#还是Java等语言的程序员都适合阅读本书),还适合管理XML数据库的管理员,以及那些非IT行业但须要频繁使用XML数据的业务人员。   这是一本适合作为XQuery学习教材和参考指南的书。 作者简介 Priscilla Walmsley,多年深入从事XQuery和XML Schema相关工作。她是W3C XML Schema工作组1999年到2004年的成员。此外,她还编写了广受好评的《Definitive XML Schema》(Prentice Hall出版社)(译者注:中文名《XML模式权威教程》)一书。最近Priscilla担任Datypic(www.datypic.com)的常务董事,在那里她专注于XML和面向服务架构(SOA)相关的咨询和培训。 目录 前言 第1章 XQuery介绍  1.1 什么是XQuery  1.2 转向XQuery  1.3 路径表达式  1.4 FLWOR表达式  1.5 添加XML元素和属性  1.6 函数  1.7 连接  1.8 求和与分组 第2章 XQuery基础  2.1 XQuery语言的设计  2.2 XQuery与其他标准的关系  2.3 处理查询  2.4 XQuery数据模型  2.5 类型  2.6 命名空间 第3章 表达式:XQuery的组成部分  3.1 表达式种类  3.2 关键字和名称  3.3 查询中的空白符  3.4 字面  3.5 变量  3.6 函数调用  3.7 注释  3.8 计算顺序和括号  3.9 比较表达式  3.10 条件(ifIthen-else)表达式  3.11 逻辑表达式 第4章 使用路径定位输入文件 4.1 路径表达式 4.2 谓词 4.3 动态路径 4.4 输入文件 4.5 深入了解上下文 第5章 在结果中增加元素和属性  5.1 包含输入文件中的元素和属性  5.2 直接元素构造器  5.3 计算构造器 第6章 使用FLWOR表达式查询和连接  6.1 使用路径表达式查询  6.2 FLWOR表达式  6.3 量化表达式  6.4 选择不同的  6.5 连接 第7章 排序和分组  7.1 XQuery中的排序  7.2 分组  7.3 对求聚合 第8章 函数  8.1 内置函数与用户自定义函数  8.2 调用函数  8.3 用户自定义函数 第9章 高级查询  9.1 复制并修改输入文件  9.2 使用位置和序列编号  9.3 合并结果  9.4 使用中间.XML文档 第10章 命名空间与XQuery  10.1 命名空间  10.2 命名空间和XQuery  10.3 查询中的命名空间声明  10.4 在结果中控制命名空间声明 第11章 深入了解类型  11.1 XQuery类型系统  11.2 内置类型  11.3 类型、节点和原子  11.4 XQuery中的类型检查  11.5 自动类型转换  11.6 序列类型  11.7 构造器和转换 第12章 查询、序言和模块  12.1 查询的结构:序言和主体  12.2 集中使用多个模块中的查询  12.3 变量声明  12.4 声明外部函数 第13章 在XQuery中使用Schema  13.1 什么是Schema  13.2 为什么在查询中使用Schema.  13.3 W3C XML Schema:概述  13.4 作用域内的Schema定义  13.5 Schema校验和类型分配  13.6 序列类型和Schema 第14章 静态类型  14.1 什么是静态类型  14.2 typeswitch表达式  14.3 treat表达式  14.4 类型声明  14.5 zero-or-one,one—or-more和exactly—one函数 第15章 查询设计的原则  15.1 查询设计的目标  15.2 清晰化  15.3 模块化  15.4 健壮性  15.5 错误处理  15.6 性能 第16章 操作数  16.1 数类型  16.2 创建数  16.3 比较数  16.4 算术操作符  16.5 数函数 第17章 操作字符串  17.1 xs:string类型  17.2 创建字符串  17.3 比较字符串  17.4 子字符串  17.5 得到字符串的长度  17.6 字符串连接和拆分  17.7 操作字符串  17.8 空白符和字符串  17.9 国际化考虑 第18章 正则式  18.1 正则式的结构  18.2 表示单个字符  18.3 表示任意字符  18.4 表示字符的组  18.5 字符类表达式  18.6 勉强模式  18.7 锚  18.8 向后引用  18.9 使用标记  18.10 使用带替换变量的子表达式 第19章 操作日期、时间和时间段  19.1 日期和时间类型  19.2 时间段类型  19.3 提取日期、时间和时间段的组成部分  19.4 使用算术操作符处理日期、时间和时间段  19.5 日期组成部分类型 第20章 操作限定名,URI和ID 20.1 操作限定名 20.2 操作uRI 20.3 操作ID 第21章 操作其他×ML组件  21.1 XML  21.2 处理指令  21.3 文档  21.4 文本节点  21.5 XML实体和字符引用  21.6 CDATA段 第22章 其他XQuery相关的标准  22.1 序列化  22.2 XQueryX  22.3 XQuery修改功能  22.4 全文检索  22.5 用于Java(XQJ)的XQuery API 第23章 实现工具特有的特征  23.1 一致性  23.2 XML,版本支持  23.3 设置查询上下文  23.4 选项声明和扩展表达式  23.5 指定序列化参数 第24章 SQL用户的×Query  24.1 关系模型与XML数据模型  24.2 比较SQL语法和XQuery语法  24.3 结合SQL与XQuery  24.4 SQL/XML 第25章 XSLT用户的XQuery  25.1 XQuery和XPath  25.2 XQuery与XSLT  25.3 XQuery 1.0/XPath 2.0和XPath 1.0的差别 附录A 内置函数参考 附录B 内置类型 附录C 错误汇总 索引

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧