关于利用cmarkup类将xml转成树的递归代码
近来自己在做xml的解析器。利用到了cmarkup类,就当做存储吧!有需要的朋友可以瞄几眼。
HTREEITEM itemTemp1,itemTemp2;
CString str1,str2;
char strtemp[100];
static bool result = true;
strtemp[0] = 0;
if (result)
{
xml.FindElem();
}
result = false;
str1 = xml.GetTagName();
strcpy(strtemp,(char*)(LPCTSTR)str1);
itemTemp1 = m_treectrl.InsertItem(str1,item);
if (xml.FindChildElem())
{
xml.IntoElem();
LoadXmlItem(itemTemp1);
xml.OutOfElem();
}
while(xml.FindElem())
{
str1 = xml.GetTagName();
strcpy(strtemp,(char*)(LPCTSTR)str1);
itemTemp2 = m_treectrl.InsertItem(str1,item);
if (xml.FindChildElem())
{
xml.IntoElem();
AfxMessageBox("cc");
LoadXmlItem(itemTemp2);
xml.OutOfElem();
}
//nRes = xml.FindElem();
}
遇到个问题: 不知道如何获取属性名称和属性的数量问题,望知道的朋友能帮帮在下。
相关文档:
我用ActiveXObject("Microsoft.xmldom")来装载xml文档时,竟然老是提示装载失败,后来上网搜索了下,说是不能直接包含这5个符号('><&"),必须选用&xx;方式来转义,可我找遍XML也没发现这些。
后来我独行排除,才发现有一个元素的属性值为有“|”,去除后就正常了。我真是觉得奇怪,网上也没有说 ......
http://topic.csdn.net/u/20080905/10/caea1689-4582-417a-8723-d008a3ae1a10.html?550638422
tringBuilder sb = new StringBuilder();
sb.Append(" <?xml version=\"1.0\"?> ");
......
添加记录到ds保存到xml
DataSet ds = new DataSet("myDs");
//从XML中读取数据
ds.ReadXml(Serve ......
import java.io.File;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class ReadSetting {
......
import java.awt.Image;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.imageio.ImageIO;
public class createXml
{
public static boolean writeXml(String path,String dir,String wpath,String wname)
{
File[] files = ReaderListFiles(path);
boo ......