ctreexml加密
⑴ socket中接受xml格式的數據流,為了將xml中的a封裝成實體,對其操作。。求大神。。
為什麼要用bufferedReader來接收流,你把xml文件先封裝成一個XML類,再用對象序列化的方法發出去,接收的時候把二進制流還原成XML對象不就好了。
⑵ (C#)中treeview怎麼綁定xml!
試試吧,希望幫到你,呵呵。
DataTable dt = new DataTable();
dt.ReadXml(你XML文件路徑);
this.TreeView1.DataSource = dt;
this.TreeView1.DataBind();
⑶ C#中將Xml文件在treeview中動態載入(xml中的是數據是可變的)
public Form1()
{
InitializeComponent();
string path = @"c:\test.xml";
InitialTreeView(treeView1.Nodes, path);
}
private void InitialTreeView(TreeNodeCollection nodes, string fileName)
{
try
{
XmlDocument doc = new XmlDocument();
doc.Load(fileName);
TreeNode parentNode = new TreeNode();
parentNode.Text = doc.DocumentElement.Name;
foreach (XmlNode node in doc.DocumentElement.ChildNodes)
{
XmlElement xe = node as XmlElement;
TreeNode newNode = new TreeNode();
foreach (XmlAttribute attr in xe.Attributes)
{
newNode.Text = attr.Value;
}
//調用遞歸函數
SearchXmlDoc(node, newNode);
//添加子節點
parentNode.Nodes.Add(newNode);
}
nodes.Add(parentNode);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
/// 遞歸遍歷xml,為treeview綁定數據
private static void SearchXmlDoc(XmlNode xmlNode, TreeNode treeNode)
{
if (xmlNode.ChildNodes.Count == 0)
{
return;
}
else
{
foreach (XmlNode node in xmlNode.ChildNodes)
{
try
{
if (node.NodeType == XmlNodeType.Element)
{
string value = node.InnerText;
TreeNode newNode = new TreeNode();
newNode.Text = value;
SearchXmlDoc(node, newNode);
treeNode.Nodes.Add(newNode);
}
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
}
}
}
⑷ 在C#中如何讀入一個xml文件,然後導入到treeview控制項中中
<Employees>
<NO1>
<Name>Ma Jin Hu</Name>
<ZIP> 239000 </ZIP>
<Address>Feng Huang Street</Address>
<City>Chu Zhou City</City>
<State> ANHUI </State>
</NO1>
<NO2>
<Name>Wang Tian</Name>
<ZIP> 239000 </ZIP>
<Address>Lang Ya Street</Address>
<City>He Fei City</City>
<State> ANHUI </State>
</NO2>
<NO3>
<Name>Zou Wen Biao</Name>
<ZIP> 100000 </ZIP>
<Address>Sai Di Street</Address>
<City>Bei Jin City</City>
<State>Bei Jin</State>
</NO3>
</Employees>
1).裝入XML文件,形成數據流:
通過創建一個"XmlDocument"對象,然後利用"load"方法,可以把XML文件裝入,具體如下:
XmlDocument doc = new XmlDocument ( ) ;
// 裝入指定的XML文檔
doc.Load ( "C:\\data.xml" ) ;
(2).讀取XML文件,並顯示出來:
讀取XML是通過創建"XmlNodeReader"對象來實現的,"XmlNodeReader"對象主要是用來可以讀取XML的節點數據。在本文的程序中使用到了一些"XmlNodeReader"的屬性,譬如"NodeType"屬性,用來判斷讀取得節點是什麼類型。"Value"是節點的值。下面是讀取XML文件並顯示在ListView中的實現代碼,其中listview1是已經創建ListView組件:
while ( reader.Read ( ) )
{
//判斷當前讀取得節點類型
switch ( reader.NodeType )
{
case XmlNodeType.Element :
s = reader.Name ;
break ;
case XmlNodeType.Text :
if ( s.Equals ( "Name" ) )
myItem = Listview1.Items.Add ( reader.Value ) ;
else
myItem.SubItems.Add ( reader.Value ) ;
break ;
}
}
四.C#讀取XML的文件的源程序代碼(read.cs):
在了解了上面的內容以後,可以得到用C#讀取指定XML文件的完整代碼,具體如下:
using System ;
using System.Drawing ;
using System.Collections ;
using System.ComponentModel ;
using System.Windows.Forms ;
using System.Data ;
using System.Xml ;
public class Form1 : Form
{
private Button button1 ;
private ListView Listview1 ;
private System.ComponentModel.Container components = null ;
public Form1 ( )
{
//初始化窗體中的各個組件
InitializeComponent ( ) ;
}
//清除程序中使用過的資源
protected override void Dispose ( bool disposing )
{
if ( disposing )
{
if ( components != null )
{
components.Dispose ( ) ;
}
}
base.Dispose ( disposing ) ;
}
private void InitializeComponent ( )
{
button1 = new Button ( ) ;
Listview1 = new ListView ( ) ;
SuspendLayout ( ) ;
button1.Anchor = ( ( AnchorStyles.Bottom | AnchorStyles.Left )
| AnchorStyles.Right ) ;
button1.Location = new Point ( 240 , 296 ) ;
button1.Name = "button1" ;
button1.Size = new Size ( 112 , 37 ) ;
button1.TabIndex = 0 ;
button1.Text = "讀取XML文檔" ;
button1.Click += new System.EventHandler ( button1_Click ) ;
Listview1.Anchor = ( ( ( AnchorStyles.Top | AnchorStyles.Bottom )
| AnchorStyles.Left )
| AnchorStyles.Right ) ;
Listview1.GridLines = true ;
Listview1.Location = new Point ( 10 , 9 ) ;
Listview1.Name = "Listview1" ;
Listview1.Size = new Size ( 623 , 269 ) ;
Listview1.TabIndex = 1 ;
Listview1.View = View.Details ;
this.AutoScaleBaseSize = new Size ( 6 , 14 ) ;
this.ClientSize = new Size ( 608 , 348 ) ;
this.Controls.Add ( Listview1 );
this.Controls.Add ( button1 );
this.Name = "Form1" ;
this.StartPosition = FormStartPosition.CenterScreen ;
this.Text = "用C#來讀取XML文檔" ;
this.ResumeLayout ( false ) ;
}
static void Main ( )
{
Application.Run ( new Form1 ( ) ) ;
}
private void button1_Click ( object sender , System.EventArgs e )
{
ListViewItem myItem = new ListViewItem ( ) ;
// 構建listview組件
Listview1.Columns.Clear ( ) ;
Listview1.Items.Clear ( ) ;
Listview1.Columns.Add ( "Name" , 80 , HorizontalAlignment.Left ) ;
Listview1.Columns.Add ( "Zip" , 80 , HorizontalAlignment.Left ) ;
Listview1.Columns.Add ( "Address" , 80 , HorizontalAlignment.Left ) ;
Listview1.Columns.Add ( "City" , 80 , HorizontalAlignment.Left ) ;
Listview1.Columns.Add ( "State" , 80 , HorizontalAlignment.Left ) ;
XmlNodeReader reader = null ;
try
{
string s = "" ;
XmlDocument doc = new XmlDocument ( ) ;
// 裝入指定的XML文檔
doc.Load ( "C:\\data.xml" ) ;
// 設定XmlNodeReader對象來打開XML文件
reader = new XmlNodeReader ( doc ) ;
// 讀取XML文件中的數據,並顯示出來
while ( reader.Read ( ) )
{
//判斷當前讀取得節點類型
switch ( reader.NodeType )
{
case XmlNodeType.Element :
s = reader.Name ;
break ;
case XmlNodeType.Text :
if ( s.Equals ( "Name" ) )
myItem = Listview1.Items.Add ( reader.Value ) ;
else
myItem.SubItems.Add ( reader.Value ) ;
break ;
}
}
}
finally
{
//清除打開的數據流
if ( reader != null )
reader.Close ( ) ;
}
}
}
自己 好好研究研究吧。
⑸ javascript讀寫xml文件誰能給我寫一個程序呀
///////////////////////////////////////////////////////////
首先:xml文件(tree.xml)內容如下:
<?xml version="1.0" encoding="gb2312"?>
<treeview>
<tree id="p1">
<text>山東省</text>
<target>_blank</target>
<title>省份</title>
<link></link>
<tree id="p1-1">
<text>威海市</text>
<target>_blank</target>
<title>城市</title>
<link></link>
</tree>
<tree id="p1-2">
<text>煙台市</text>
<target>_blank</target>
<title>城市</title>
<link></link>
<node id="p1-2-1">
<text>長夼村</text>
<target>_blank</target>
<title>鄉鎮</title>
<link>http://www..com/</link>
</node>
</tree>
<node id="p1-3">
<text>富鎮</text>
<target>_blank</target>
<title>鄉鎮</title>
<link>http://www..com/</link>
</node>
</tree>
<tree id="p2">
<text>河北省</text>
<target>_blank</target>
<title>省份</title>
<link></link>
<tree id="p2-1">
<text>泊頭市</text>
<target>_blank</target>
<title>城市</title>
<link></link>
<node id="p2-1-1">
<text>郊河</text>
<target>_blank</target>
<title>鄉鎮</title>
<link>http://www..com/</link>
</node>
</tree>
<tree id="p2-2">
<text>石家莊</text>
<target>_blank</target>
<title>城市</title>
<link></link>
</tree>
</tree>
<tree id="p3">
<text>浙江省</text>
<target>_blank</target>
<title>省份</title>
<link></link>
<tree id="p3-1">
<text>杭州市</text>
<target>_blank</target>
<title>城市</title>
<link></link>
<node id="p3-1-1">
<text>某鎮</text>
<target>_blank</target>
<title>鄉鎮</title>
<link>http://www..com/</link>
</node>
</tree>
<tree id="p3-2">
<text>溫州市</text>
<target>_blank</target>
<title>城市</title>
<link></link>
<node id="p3-2-1">
<text>某鎮</text>
<target>_blank</target>
<title>鄉鎮</title>
<link>http://www..com/</link>
</node>
</tree>
</tree>
</treeview>
//////////////////////////////////////////////////////
然後:javascript函數實現:(文件名稱:tree.htm)
<script Language="JavaScript">
var HTML = "";
var space = "";
var blank = " ";
function getSubject()
{
var xmlDoc;
if(window.ActiveXObject)
{
//獲得操作的xml文件的對象
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = false;
xmlDoc.load("tree.xml");
if(xmlDoc == null)
{
alert('您的瀏覽器不支持xml文件讀取,於是本頁面禁止您的操作,推薦使用IE5.0以上可以解決此問題!');
window.location.href='/Index.aspx';
return;
}
}
//解析xml文件,判斷是否出錯
if(xmlDoc.parseError.errorCode != 0)
{
alert(xmlDoc.parseError.reason);
return;
}
//獲得根接點
var nodes = xmlDoc.documentElement.childNodes;
//得到根接點下共有子接點個數,並循環
for(var i=0; i<nodes.length; i++)
{
//如果接點名為 tree
if(nodes(i).nodeName == "tree")
{
readTree(nodes(i));
}
//如果接點名為 node
else if(nodes(i).nodeName == "node")
{
readNode(nodes(i));
}
}
//刪除對象
delete(xmlDoc);
//顯示HTML
window.show.innerHTML = HTML;
return;
}
//讀Tree節點
function readTree(cI)
{
var nodes = cI.childNodes;
var menuHTML = space;
menuHTML += blank;
//得到超級鏈接
menuHTML += "<a href='";
//如果該節點的連接屬性不為空,則連接
if(cI.selectNodes("link")(0).text != "")
{
menuHTML += cI.selectNodes("link")(0).text;
}
//否則為空鏈接
else
{
menuHTML += "#";
}
//目標
if(cI.selectNodes("target")(0).text != "")
{
menuHTML += " target='"+cI.selectNodes("target")(0).text;
menuHTML += "'";
}
//點擊菜單事件,調用divshow(vid)函數
menuHTML += " onclick=javascript:divshow('"+cI.getAttribute("id")+"');";
//得到節點標題
menuHTML += " title='";
menuHTML += cI.selectNodes("title")(0).text;
//結束
menuHTML += "'>";
//得到節點的正文
menuHTML += cI.selectNodes("text")(0).text;
menuHTML += "</a><br>\n";
//將menuHTML設置添加到HTML字元串
HTML += menuHTML;
//得到該節點的屬性值<span
HTML += "<div id='"+cI.getAttribute("id")+"' style='display:none'>\n";
for(var i=0; i<nodes.length; i++)
{
var tempImg = "";
tempImg += blank;
if(nodes(i).nodeName == "tree")
{
space += tempImg;
readTree(nodes(i));
space = "";
}
else if(nodes(i).nodeName == "node")
{
space += tempImg;
readNode(nodes(i));
}
}
HTML += "</div>\n";
return;
}
//讀Node節點
function readNode(cI)
{
var nodeHTML = space;
nodeHTML += blank;
//設置超級鏈接
nodeHTML += "<a href='";
//得到連接地址
nodeHTML += cI.selectNodes("link")(0).text;
//目標
if(cI.selectNodes("target")(0).text != "")
nodeHTML += "' target='"+cI.selectNodes("target")(0).text;
//得到節點標題
nodeHTML += "' title='";
nodeHTML += cI.selectNodes("title")(0).text;
//結束
nodeHTML += "'>";
//得到節點的正文
nodeHTML += cI.selectNodes("text")(0).text;
nodeHTML += "</a><br>\n";
HTML += nodeHTML;
//HTML += "<div id='"+cI.getAttribute("id")+"'>";
space = "";
return;
}
//操作對象的顯示還是隱藏效果
function divshow(vid)
{
if(document.all[vid].style.display == "none")
{
document.all[vid].style.display = "block";
}
else
{
document.all[vid].style.display = "none";
}
return;
}
</script>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JS_XML</title>
<style type="text/css">
<!--
body
{
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
font-size: 9pt;
}
A
{
text-decoration:none;
font-family: "宋體";
font-size: 9pt;
COLOR:#000000;
}
-->
</style>
</head>
<body bgcolor="#EEEEEE" leftmargin="0" topmargin="0">
<div id=show></div>
</body>
<script>
getSubject()
</script>
</html>
//////////////////////////////////////////////////////////
運行,要在同一個路徑下!
⑹ This XML file does not appear to have any style information associated with
This XML file does not appear to have any style information associated with:此XML文件似乎沒有任何關聯的樣式信息。
可擴展標記語言,標准通用標記語言的子集,簡稱XML。是一種用於標記電子文件使其具有結構性的標記語言。
在電子計算機中,標記指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種的信息比如文章等。它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。
它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立於應用程序或供應商的結構化數據。是Internet環境中跨平台的、依賴於內容的技術,也是當今處理分布式結構信息的有效工具。早在1998年,W3C就發布了XML1.0規范,使用它來簡化Internet的文檔信息傳輸。

簡介
可擴展標記語言與Access,Oracle和SQL Server等資料庫不同,資料庫提供了更強有力的數據存儲和分析能力,例如:數據索引、排序、查找、相關一致性等,可擴展標記語言僅僅是存儲數據。事實上它與其他數據表現形式最大的不同是:可擴展標記語言極其簡單,這是一個看上去有點瑣細的優點,但正是這點使它與眾不同。
XML的簡單易於在任何應用程序中讀/寫數據,這使XML很快成為數據交換的唯一公共語言,雖然不同的應用軟體也支持其他的數據交換格式,但不久之後它們都將支持XML,那就意味著程序可以更容易的與Windows、Mac OS、Linux以及其他平台下產生的信息結合,然後可以很容易載入XML數據到程序中並分析它,並以XML格式輸出結果。
⑺ C#用XML文件做動態菜單(C/S模式)
就是一個基礎框架的例子。
首先根據ID獲取當前許可權的菜單xml文件,一般將xml存儲到資料庫裡面。然後通過xml文件去編輯菜單。
再將菜單添加到form界面上面,給你個簡單例子。
publicpartialclassTreeMenu:RadTreeView
{
#regionField
privateXDocumentxDoc=null;
#endregion
#regionProperty
publicXDocumentXDoc
{
set
{
this.xDoc=value;
varitems=xDoc.Element("Menu").Elements("MenuItem");
foreach(variteminitems.ToList())
{
this.Nodes.Add(this.CreateTreeNode(item));
}
}
}
#endregion
publicTreeMenu()
{
InitializeComponent();
}
publicTreeMenu(IContainercontainer)
{
container.Add(this);
InitializeComponent();
this.NodeCheckedChanged+=TreeMenu_NodeCheckedChanged;
}
#regionMethod
///<summary>
///點擊節點更換
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
privatevoidTreeMenu_NodeCheckedChanged(objectsender,RadTreeViewEventArgse)
{
//();
RadTreeNodenode=senderasRadTreeNode;
}
(XElementxel)
{
//stringtreeName=xel.Attribute("Text").Value.ToString();
RadTreeNodenode=newRadTreeNode();
node.Text=xel.Attribute("Text").Value.ToString();
if(xel.Elements("MenuItem").Count()>0)
{
foreach(varqinxel.Elements("MenuItem"))
{
node.Nodes.Add(this.CreateTreeNode(q));
}
}
node.Tag=xel;
returnnode;
}
#endregion
}
菜單事件部分肯定要用到反射,都是些基礎的東西。
⑻ 求達人解決vc解析xml問題,為什麼我的代碼解析不了xml裡面的中文
save((LPCTSTR)dlg.GetPathName,haiyou,雙解。
⑼ 在ASP.NET中,在一個類中想操作XML文件夾下的treeConfig.xml文件,如何獲取其路徑
C#中 Server.MapPath 方法的幾個注意點 - [開發記錄]
簡介:
1.Server.MapPath 所獲得的路徑都是伺服器上的物理路徑,也就是常說的絕對路徑。
2.全名: System.Web.HttpContext.Current.Server.MapPath
注意點:
1、Server.MapPath("/") : 獲得應用程序根目錄所在的位置,如 C:\Inetpub\wwwroot\。
2、Server.MapPath("./") : 獲得所在頁面的當前目錄,等價於 Server.MapPath("")。
3、Server.MapPath("../") : 獲得所在頁面的上級目錄。
4、 Server.MapPath("~/") : 獲得當前應用級程序的目錄,如果是根目錄,就是根目錄,如果是虛擬目錄,就是虛擬目錄所在的位置,如C:\Inetpub\wwwroot\Example\。
希望對你做個參考。可以使用這些自己調試一下,應該沒問題的
⑽ dhtmltree XML格式不同怎麼辦
項目需要從合作方介面獲取xml文件。合作方編碼格式是「GB2312」,並且xml文件編碼格式也是「GB2312」。xml信息如下:
接收到的數據內容如下:
紅色框裡面的「?」可以導致解析xml文件未知錯誤。從而程序執行失敗。
解決辦法:
$xml = file_get_contents('gd_up2.xml');
$xml = str_replace('GB2312','utf8',$xml); //再將xml文件裡面的編碼格式轉換成utf8格式。
$xml_arr = sinapay_xml_parse($xml); //將xml解析為數組的函數。
這樣$xml_arr就能正常的將xml解析為數組了。
