下面就是从中找到 "abcdef"在文件中的位置
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
unsigned int Count=0 //定义无符号整数,记录要查找的字符串在文件nide.xml中的位置
int findNum(char *str) //查找方法,在文件中搜索字符串
{
unsigned int i=0,t1=0
FILE *p
char ch
if((p=fopen("nide.xml","rb"))==NULL)//你的xml文件nide.xml要放到程序所在目录
{
printf("\n打开文件失败\n")
exit(4)
}
while((ch=fgetc(p))!=EOF) //循环定位要查找的字符串
{
if(ch==str[t1])
t1++
else
t1=0
if(t1>=strlen(str))
{
printf("找到字符串%s位置为%d\n",str,i-strlen(str)+1)
Count = i-strlen(str)+1
i=1
break
}
i++
}
fclose(p)
if(!i) return 0
return i
}
int main(void) //main主方法
{
char *str="abcdef" //要查找的字符串-可以手工修改
int j=0,t1=0,t2=0
if((t1=findNum(str))==0) //调用查找方法,在文件中查找str
{
printf("没有找到字符串%s\n请按任意键退出\n",str)
return -1
}
getch() //等待程序手动结束以便观察结果
return 0
}
这段代码主要是把名字为my_URLLoader的XML文件中的数据读取进来,然后用数组把这些数据存起来。把外部的数据存到内存中,便于读写 *** 作。my_Obj是声明一个对象。
这个对象有三个属性,分别对应XML的相应的节点的属性
所定义的XML大概是如下的结构:
<my_xml>
<img type="src">
//按你清碰文本的命名,应该存的是“图片的路径”的信息,如“包名/图片.jpg”
</img>
<img type="swf">
//按你文本的银正滑命名,应该存的是“动画的路径”的信息,如“包名/动画.swf”
</img>
<img>
//锋腊按你文本的命名,应该存的是“文本的路径”的信息,如"包名/文本.text"
</img>
</my_xml>
@后面是每个节点的属性
然后最后my_pic_arr.push(my_obj)是把这个对象添加到数组中
最后imgLoaded(0)是调用一个自己定义的函数
主要是禅孝这几个包:javax.xml.parsers
javax.xml.transform
javax.xml.transform.dom.DOMSource
javax.xml.transform.stream.StreamResult
org.w3c.dom
import java.io.*
import java.util.*
import javax.xml.parsers.DocumentBuilderFactory
import javax.xml.parsers.DocumentBuilder
import javax.xml.transform.OutputKeys
import javax.xml.transform.TransformerFactory
import javax.xml.transform.Transformer
import javax.xml.transform.dom.DOMSource
import javax.xml.transform.stream.StreamResult
import org.w3c.dom.Document
import org.w3c.dom.Element
import org.w3c.dom.NodeList
import tools.Vote//自己的类
//载入
private DocumentBuilderFactory dbf=null
private DocumentBuilder db=null
private Document doc=null
private List listXml=null
public Document loadXml(File file)
{
try
{
dbf=DocumentBuilderFactory.newInstance()
db=dbf.newDocumentBuilder()
doc=db.parse(file)
}
catch(Exception e)
{
e.printStackTrace()
}
return doc
}
//乱芹 添贺陪稿加节点
public void addOptionXmlData(File file,int parentPos,String option)
{
if(doc==null){
doc=loadXml(file)
}
try
{
Element root=doc.getDocumentElement()
Element voot=(Element)root.getElementsByTagName("vote").item(parentPos)
Element optionNode=doc.createElement("option")
voot.appendChild(optionNode)
optionNode.setTextContent(option)
optionNode.setAttribute("sum", "0")
}catch(Exception ex){
ex.printStackTrace()
}
try//保存到XML文件
{
TransformerFactory tf=TransformerFactory.newInstance()
Transformer t=tf.newTransformer()
Properties props=t.getOutputProperties()
props.setProperty(OutputKeys.ENCODING, "gb2312")
t.setOutputProperties(props)
DOMSource dom=new DOMSource(doc)
StreamResult sr=new StreamResult(file)
t.transform(dom, sr)
}catch(Exception ex)
{
ex.printStackTrace()
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)