
代码就不帮忙写了,用XML的方法,递归判断获取即可。
1、XML的方法比较简单,百度找找就好了。
2、递归参考如下例子:
////////////////开始要递归的函数里面////////////////
//开始循环递归显示XML
foreach (XmlNode node in rootNodes)
{
bool IsAddNode = true;
TreeNode tvnode = new TreeNode();
if (nodeNodeType == XmlNodeTypeElement)
{
tvnodeText = nodeName;
if (nodeAttributesCount > 0)
{
string arrts = GetNodesAttributes(node, ref IsAddNode);
tvnodeText += arrts;
}
else
{
if (nodeFirstChild != null)
{
if (nodeFirstChildFirstChild == null && nodeFirstChildNodeType == XmlNodeTypeText)
{
if (nodeFirstChildValue == stringEmpty) IsAddNode=false;
else tvnodeText += "=" + nodeFirstChildValue;
}
}
else
{
IsAddNode = false;
}
}
if (IsAddNode) tvElementNodeNodesAdd(tvnode);
}
if (nodeChildNodesCount != 0 && IsAddNode)
{
GetChildNodes(node, tvnode);//递归取子节点
}
}
////////////////
/// <summary>
/// 递归取子节点
/// </summary>
private void GetChildNodes(XmlNode node, TreeNode tvnode)
{
foreach (XmlNode nd in nodeChildNodes)
{
bool IsAddNode = true;
TreeNode tvnd = new TreeNode();
if (ndNodeType == XmlNodeTypeElement)
{
tvndText = ndName;
if (ndAttributesCount > 0)//判断节点有属性
{
string arrts = GetNodesAttributes(nd, ref IsAddNode);
tvndText += arrts;
}
else
{
if (ndFirstChild != null)
{
if (ndFirstChildFirstChild == null && ndFirstChildNodeType == XmlNodeTypeText)//判断节点有值
{
if (ndFirstChildValue == stringEmpty) IsAddNode = false;
else tvndText += "=" + ndFirstChildValue;
}
}
else
{
IsAddNode = false;
}
}
if (IsAddNode) tvnodeNodesAdd(tvnd);
}
if (ndChildNodesCount != 0 && IsAddNode)
{
GetChildNodes(nd, tvnd);
}
}
}
/// <summary>
/// 取子节点属性
/// </summary>
private string GetNodesAttributes(XmlNode node, ref bool IsAddNode)
{
string arrtsStr = stringEmpty;
XmlAttributeCollection arrts = nodeAttributes;
foreach (XmlNode attr in arrts)
{
if (attrName == "IsCheck" || attrName == "IsAvailable")//节点不配置就不显示信息
{
if (attrFirstChildValue == "False" || attrFirstChildValue == stringEmpty) IsAddNode = false;
}
if (attrFirstChildValue != stringEmpty)
{
arrtsStr += " " + attrName + "=";
arrtsStr += attrFirstChildValue;
}
}
return arrtsStr;
}
var sm = Extcreate('ExtselectionCheckboxModel', {
listeners: {
selectionchange: function (sm, selections) {
//在该事件中对第二个表格的store进行重新加载,加载时设置参数为第一个表格选中行的内容
}
}
});
如图所示
要获取html内容,需要先获取dom对象
Ext使用query类选择器就能获取,由于获取的是集合,所以如果只有一个,就是数组下标0的对象。
故,html文本用 Extquery('xxx')[0]innerHTML 获取
html文本用 Extquery('xxx')[0]outerHTML 获取
$('td')text();
首先使用jquery选择器选择所有的td标签,使用jquery的text()方法可以获取td中的文字内容。
text():得到匹配元素集合中每个元素的文本内容结合,包括他们的后代,或设置匹配元素集合中每个元素的文本内容为指定的文本内容。
用XPath表达式来定位到对应的<td>元素:
//th[span[text()="发布时间"]]/following-sibling::td/span
这个XPath表达式首先选择包含文本“发布时间”的<span>元素的<th>元素,然后使用/following-sibling::td选择这个<th>元素的下一个兄弟元素,即包含发布时间的<td>元素。最后,使用/span选择包含发布时间值的<span>元素。
请注意,这个XPath表达式返回的是一个<span>元素,如果您只需要获取该元素的文本值,可以使用text()函数,例如:
//th[span[text()="发布时间"]]/following-sibling::td/span/text()
这将返回包含发布时间的<span>元素的文本值
以上就是关于c#如何循环获取td标签中的内容全部的内容,包括:c#如何循环获取td标签中的内容、extjs 表格默认全选,加载后,点击取消选中某行,如何获取其它选中行的内容、请问ExtJs如何获取html内容,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)