模式和xml学习(2)
一:设计模式部分
状态模式(state)
状态模式类似于一种简单的工作流,用来把大量的判断分支进行拆分,给每一种判断增加一个状态,如果不满足该判断可以进行状态转换,知道遇到满足条件为止
这样做的好处就是,当需要增加判断的时候,不需要改变已经存在的代码。只需要增加判断的类,原始判断类中增加新的状态转换。
适配器模式(adapter)
适配器模式用来对原始接口进行改造,用来适应新的接口,但是要求2者大部分功能应该相同。多用于项目维护期。新开发的项目应当多重构,少使用适配器模式
备忘录模式(memento)
该模式用来进行对象的保存和恢复。通常情况下,如果不用该模式,在调用类中,对象的细节就会被暴露。对象的属性保存多少也是固定的,不能灵活使用。
备忘录模式就提供了一个类(class1)用来保存需要保存的对象,可以设置需要保存对象的属性个数。再提供一个管理类(class2)用来管理(class1),
这样调用类只要操作管理类(class2)就可以保存对象和恢复对象,而不需要指定具体的细节。
二:xml部分
DTD约束只要包括
1:元素声明 <!ELEMENT website (name)>
<!ELEMENT name #PCDATA>
2:属性声明<!ELEMENT website (name)>
<!ELEMENT name #PCDATA>
<!ATILIST name fistname #PCDATA #FIXED "will">
3:实体声明:可以内部声明,也可以外部声明,外部声明时 <?xml version='1.0'>是做为文本声明,而不是xml声明,所有version值可以没有。
<!ENTITY >(一般实体)
<!ENTITY % >(参数实体) 在内部DTD中,参数实体的引用不可以用在实体声明中,可以用在允许使用的地方。而外部DTD中则没有这个限制。
4:标记声明 用来说明一些未解析的实体的外部处理命令
<!NOTATION >
格式良好的xml(well-formed) 只要符合xml定义的书写格式,就可以成为格式良好的xml
有效的xml 有完整的DTD定义
相关文档:
添加XML节点
/// <summary>
/// 初始化XML status-0
/// </summary>
/// <returns></returns>
private bool InitialConfig()
{
bool b ......
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Syste ......
Ajax和jsp的怪现象
如果用Ajax去请求一个jsp页面,该jsp页面返回的是xml(response.setContentType("text/xml; charset=GB2312");),并且该jsp包含下面这些头@page指令的话,则在客户端xml=XMLHttpRequest.responseXML得到的是一个不包含任务东西的xml对象,即xml.childNodes.length将会是0.
......
HTML - Hyper Text Mark-up Language - 超文本标记语言
HTML-超文本标记语言,是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只 ......
MSXML2::IXMLDOMDocumentPtr pDoc;
MSXML2::IXMLDOMElementPtr xmlRoot ;
// 创建DOMDocument对象
HRESULT hr = pDoc.CreateInstance(__uuidof(MSXML2::DOMDocument40));
if ( ! SUCCEEDED(hr))
{
MessageBox( " 无法创建DOMDocument对象,请检查 ......