XmlDocument xml = new XmlDocument();
XmlNode node = xmlSelectSingleNode("configuration");// 获取configuration节点
XmlNodeList nodeList = xmlSelectSigle("configuration")Childnodes;//获取configuration的子节点
foreach(XmlNode xn in nodeList)
{
XmlElement xe = (XmlElement) xn;//将子节点类型转换为XmlElement
XmlNodeList xo = xeChildNodes;//继续获取xe子节点
foreach(XmlNode xl in xo)
{
XmlElement xx = (XmlElement) xl;//将子节点类型转换为XmlElement
if(xxName==server)
{
xxInnerText = //这里是你要配置元素server的内容
}
同理if(xxName==database)
{
}
}
}
xmlSave("这里是你放XML文件的路径");
第一步:在你的xml文件上右击选择”打开方式“,之后在选择”选择默认程序“。
第二步:选择你想要的打开方式(一般xml初始化的时候都是用IE打开,可根据实际情况修改),之后勾选上”始终使用选择的程序打开这种文件“,点击”确定“即可完成设置。
xml文件可以用excel软件打开,具体 *** 作步骤如下:
1、首先我们打开电脑里的excel软件,新建一个空白工作簿。
2、然后我们按住电脑上的 ctrl + s 键,或者点击选项卡上的文件》另存为,d出保存文件类型和文件名,上我们可以看出,excel支持保存后缀名为xml的文档。
3、同理我们也可以用excel打开xml文件,选择数据选项卡》自其他来源》来自XML数据导入。
4、然后选择你电脑上的xml文件进行打开就可以了打开之后的显示就是这样的。
你好的!
echo offsetlocal enabledelayedexpansion
set "file=123xml"
set "file_personal=1231xml"
(
for /f "tokens=" %%i in (%file%) do (
set s=%%i
set s=!s:1032202=103220220!
echo !s!
)
)>%file_personal%
这个放到一个文件夹上
文件名我暂且定义为123xml
望采纳!
1
xml是被设计用来描述数据的,重点是什么是数据,如何存放数据。html是被设计用来显示数据的,重点是显示数据以及如何显示数据更好上面。html是与显示信息相关的,
xml则是与描述信息相关的。
2
很多软件中都会包含有一些xml文件,其实这是一种扩展性标识语言文件,是用于标记电子文件使其具有结构性的标记语言,通常无法直接打开。要打开xml文件的话,其实最简单的就是用excel表格打开了。
3
也可以用右键选择在记事本中打开,但是要想对xml文件进行编辑的话,最好还是使用xml编辑器或专业的文本编辑器。
@echo off
setlocal enabledelayedexpansion
for /f "delims=▓ tokens= eol=▓" %%a in (Bxml) do (
set "ln=%%a"
set "t=!ln!"
set "t=!t:Bill Code=a!"
if "!t!" neq "!ln!" (
set "ln=!ln:^<=^^<!"
set "ln=!ln:^>=^^>!"
echo !ln!>>temp1tmp
)
)
set ctr=0
for /f "delims=▓ tokens= eol=▓" %%a in (Axml) do (
set "ln=%%a"
set "t=!ln!"
set "t=!t:Bill Code=a!"
if "!t!" neq "!ln!" (
set read=false
set /a ctr+=1
set ctr2=0
for /f "delims=▓ tokens= eol=▓" %%b in (temp1tmp) do (
set /a ctr2+=1
if !read!==false if "!ctr!"=="!ctr2!" (
set "ln=%%b"
set read=true
)
)
)
set "ln=!ln:^<=^^<!"
set "ln=!ln:^>=^^>!"
echo !ln!>>temp2tmp
)
del /f /q Axml
rename temp2tmp Axml
del /f /q temp1tmp
echo Done
pause
把它放在xml文件旁运行,它会把Axml中带有bill code关键字的行整行替换成Bxml中对应的一整行。
运行前请做好原文件的备份。
using System;
using SystemData;
using SystemConfiguration;
using SystemWeb;
using SystemWebSecurity;
using SystemWebUI;
using SystemWebUIWebControls;
using SystemWebUIWebControlsWebParts;
using SystemWebUIHtmlControls;
/// <summary>
/// 用DataSet *** 作XML
/// </summary>
public class XmlHandle
{
#region GetDataSetByXml 读取xml直接返回DataSet
/// <summary>
/// 读取xml直接返回DataSet
/// </summary>
/// <param name="strPath">Xml的相对路径</param>
/// <returns>已装入XML文档的DataSet</returns>
public static DataSet GetDataSetByXml(string strXmlPath)
{
try
{
DataSet ds = new DataSet();
//读取XML到DataSet
dsReadXml(GetXmlFullPath(strXmlPath));
if (dsTablesCount > 0)
{
return ds;
}
return null;
}
catch (Exception)
{
return null;
}
}
#endregion
#region GetDataViewByXml 读取Xml返回一个经排序或筛选后的DataView
/// <summary>
/// 读取Xml返回一个经排序或筛选后的DataView
/// </summary>
/// <param name="strXmlPath"></param>
/// <param name="strWhere">筛选条件,如:"name = ’kgdiwss’"</param>
/// <param name="strSort">排序条件,如:"Id desc"</param>
/// <returns></returns>
public static DataView GetDataViewByXml(string strXmlPath, string strWhere, string strSort)
{
try
{
DataSet ds = new DataSet();
dsReadXml(GetXmlFullPath(strXmlPath));
//创建DataView来完成排序或筛选 *** 作
DataView dv = new DataView(dsTables[0]);
if (strSort != null)
{
//对DataView中的记录进行排序
dvSort = strSort;
}
if (strWhere != null)
{
//对DataView中的记录进行筛选,找到我们想要的记录
dvRowFilter = strWhere;
}
return dv;
}
catch (Exception)
{
return null;
}
}
#endregion
#region WriteXmlByDataSet 向Xml文件插入一行数据
/// <summary>
/// 向Xml文件插入一行数据
/// </summary>
/// <param name="strXmlPath">xml文件相对路径</param>
/// <param name="Columns">要插入行的列名数组,如:string[] Columns = {"name","IsMarried"};</param>
/// <param name="ColumnValue">要插入行每列的值数组,如:string[] ColumnValue={"kgdiwss","false"};</param>
/// <returns>成功返回true,否则返回false</returns>
public static bool WriteXmlByDataSet(string strXmlPath, string[] Columns, string[] ColumnValue)
{
try
{
//根据传入的XML路径得到XSD的路径,两个文件放在同一个目录下
//string strXsdPath = strXmlPathSubstring(0,strXmlPathIndexOf("")) + "xsd";
DataSet ds = new DataSet();
//读xml架构,关系到列的数据类型
//dsReadXmlSchema(GetXmlFullPath(strXmlPath));
dsReadXml(GetXmlFullPath(strXmlPath));
DataTable dt = dsTables[0];
//在原来的表格基础上创建新行
DataRow newRow = dtNewRow();
//循环给 一行中的各个列赋值
for (int i = 0; i < ColumnsLength; i++)
{
newRow[Columns[i]] = ColumnValue[i];
}
dtRowsAdd(newRow);
dtAcceptChanges();
dsAcceptChanges();
dsWriteXml(GetXmlFullPath(strXmlPath));
return true;
}
catch (Exception)
{
return false;
}
}
#endregion
#region UpdateXmlRow 更行符合条件的一条Xml记录
/// <summary>
/// 更行符合条件的一条Xml记录
/// </summary>
/// <param name="strXmlPath">XML文件路径</param>
/// <param name="Columns">列名数组</param>
/// <param name="ColumnValue">列值数组</param>
/// <param name="strWhereColumnName">条件列名</param>
/// <param name="strWhereColumnValue">条件列值</param>
/// <returns></returns>
public static bool UpdateXmlRow(string strXmlPath, string[] Columns, string[] ColumnValue, string strWhereColumnName, string strWhereColumnValue)
{
try
{
//同上一方法
//string strXsdPath = strXmlPathSubstring(0, strXmlPathIndexOf("")) + "xsd";
DataSet ds = new DataSet();
//读xml架构,关系到列的数据类型
//dsReadXmlSchema(GetXmlFullPath(strXsdPath));
dsReadXml(GetXmlFullPath(strXmlPath));
//先判断行数
if (dsTables[0]RowsCount > 0)
{
for (int i = 0; i < dsTables[0]RowsCount; i++)
{
//如果当前记录为符合Where条件的记录if(dsTables[0]Rows[i][strWhereColumnName]ToString()Trim()Equals(strWhereColumnValue))
{
//循环给找到行的各列赋新值
for (int j = 0; j < ColumnsLength; j++)
{
dsTables[0]Rows[i][Columns[j]] = ColumnValue[j];
}
//更新DataSet
dsAcceptChanges();
//重新写入XML文件
dsWriteXml(GetXmlFullPath(strXmlPath));
return true;
}
}
}
return false;
}
catch (Exception)
{
return false;
}
}
#endregion
#region DeleteXmlAllRows 删除所有行
/// <summary>
/// 删除所有行
/// </summary>
/// <param name="strXmlPath">XML路径</param>
/// <returns></returns>
public static bool DeleteXmlAllRows(string strXmlPath)
{
try
{
DataSet ds = new DataSet();
dsReadXml(GetXmlFullPath(strXmlPath));
//如果记录条数大于0
if (dsTables[0]RowsCount > 0)
{
//移除所有记录
dsTables[0]RowsClear();
}
//重新写入,这时XML文件中就只剩根节点了
dsWriteXml(GetXmlFullPath(strXmlPath));
return true;
}
catch (Exception)
{
return false;
}
}
#endregion
#region DeleteXmlRowByIndex 通过删除DataSet中iDeleteRow这一行,然后重写Xml以实现删除指定行
/// <summary>
/// 通过删除DataSet中iDeleteRow这一行,然后重写Xml以实现删除指定行
/// </summary>
/// <param name="strXmlPath">XML路径</param>
/// <param name="iDeleteRow">要删除的行在DataSet中的Index值</param>
public static bool DeleteXmlRowByIndex(string strXmlPath, int iDeleteRow)
{
try
{
DataSet ds = new DataSet();
dsReadXml(GetXmlFullPath(strXmlPath));
if (dsTables[0]RowsCount > 0)
{
//删除符号条件的行
dsTables[0]Rows[iDeleteRow]Delete();
}
dsWriteXml(GetXmlFullPath(strXmlPath));
return true;
}
catch (Exception)
{
return false;
}
}
#endregion
#region DeleteXmlRows 删除strColumn列中值为ColumnValue的行
/// <summary>
/// 删除strColumn列中值为ColumnValue的行
/// </summary>
/// <param name="strXmlPath">xml相对路径</param>
/// <param name="strColumn">列名</param>
/// <param name="ColumnValue">strColumn列中值为ColumnValue的行均会被删除</param>
/// <returns></returns>
public static bool DeleteXmlRows(string strXmlPath, string strColumn, string[] ColumnValue)
{
try
{
DataSet ds = new DataSet();
dsReadXml(GetXmlFullPath(strXmlPath));
//先判断行数
if (dsTables[0]RowsCount > 0)
{
//判断行多还是删除的值多,多的for循环放在里面
if (ColumnValueLength > dsTables[0]RowsCount)
{
for (int i = 0; i < dsTables[0]RowsCount; i++)
{
for (int j = 0; j < ColumnValueLength; j++)
{
//找到符合条件的行if(dsTables[0]Rows[i][strColumn]ToString()Trim()Equals(ColumnValue[j]))
{
//删除行
dsTables[0]Rows[i]Delete();
}
}
}
}
else
{
for (int j = 0; j < ColumnValueLength; j++)
{
for (int i = 0; i < dsTables[0]RowsCount; i++)
{
//找到符合条件的行if(dsTables[0]Rows[i][strColumn]ToString()Trim()Equals(ColumnValue[j]))
{
//删除行
dsTables[0]Rows[i]Delete();
}
}
}
}
dsWriteXml(GetXmlFullPath(strXmlPath));
}
return true;
}
catch (Exception)
{
return false;
}
}
#endregion
#region GetXmlFullPath 返回完整路径
/// <summary>
/// 返回完整路径
/// </summary>
/// <param name="strPath">Xml的相对路径</param>
/// <returns>Xml的路径</returns>
private static string GetXmlFullPath(string strPath)
{
//如果路径中含有:符号,则认定为传入的是完整路径
if (strPathIndexOf(":") > 0)
{
return strPath;
}
else
{
//返回完整路径
return SystemWeb>
以上就是关于C#怎么修改XML元素的内容全部的内容,包括:C#怎么修改XML元素的内容、xml格式的文件 怎么改回 系统默认的打开方式、xml文件用什么编辑等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)