我在C#中使用Linq xml,但是当某些元素为空时,我不知道如何纠正处理异常。例如,我需要获取一些属性的值,但是这个属性可以是null,也可以是path的某个部分。我喜欢这样:
public static string GetImage(this HtmlNode element)
{
var result = "";
try
{
return result = element.Element("div").Element("a").Element("img
我从"“链接中得到了一些浓缩。
如果我需要检索Subject1和Subject2的数据,那么新的c#应该如何通过替换这个代码listBox1.Items.Add(b.Element("Subject").Value.Trim());来实现呢?
C#:
var books = from nodes in System.Xml.Linq.XElement.Load("Books.xml").Elements("Book") select nodes;
if (books != null)
{
foreach (var b in bo
我不知道该怎么说这个问题,所以如果我没有使用正确的术语,请原谅我。
我有一个System.Xml.Linq.XElement el,它包含一个xml文档。我想查询XElement的一部分,并将用户对象(Upload)添加到泛型列表(页面属性中的UploadList),如下所示:
this.UploadsList.Add((from el1 in el.Descendants("Uploads")
select new Upload
我有点卡住了,目前在foreach循环的第二次运行开始时,在异常'ex‘中捕获了一个错误。
为什么会发生这种事?我做错了什么?
{"Unable to cast object of type 'System.Xml.Linq.XText' to type 'System.Xml.Linq.XElement'."} System.Exception {System.InvalidCastException}'
我的代码:
public static void LoadMyThing()
{
我正在尝试Linq- to -XML,以努力缩短代码并使其更具可读性,但我遇到了一个错误,我总是得到一个null。我正在试着让下面的代码工作:
var listOfFoos = new List<FooItem>();
var xdoc = XDocument.Parse(fooData);
var fooNodes = xdoc.Descendants("Foo");
var foos = fooNodes.Select(f => new FooItem()
{
x = f.Element("X
我想知道是否有可能在linq语句中包含内部变量或委托?
我目前正在使用带有XPath扩展的Linq to XML,并且在一个我不能保证将存在的元素上使用where子句。
以下是我的意思的一个示例:
var result =
from record in xml.Root.XPathSelectElements("record")
where ...
select record;
我想要的位置是这样的:
where
{
var element = record.XPathSelectElement("element[@type='
实际上,我正在遍历src xml并将其转换为另一个destination xml。但是,部分src xml将被复制并添加到destination中。但是,当我尝试这样做时,我得到了以下例外:
could not be added to the element "<DestinationParent>" because: The Node already has an existing parent of "<SourceParent"
我正在遍历src XML并调用此函数。
码
private static Element treeWalk (
我正在将字符串加载到xml元素中,并设置了我所认为的足够的错误检查,但是如果某个特定的xml节点没有出现,它仍然会引发错误。
StackTrace "at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)\r\n
at MvcApplication1.Controllers.MyController.MySearch(SearchModel s)
in c:\\...Controller.cs:line 2900" string e {"Sequence contains no elements
我有大量作为XML返回的记录(大约2,000条),我使用LINQ语句解析XML并返回集合对象。然而,当LINQ表达式计算结果时,我得到了一个异常。
object reference not set to an instance of an object
我知道LINQ表达式在某个地方试图处理null或缺失的值。是否有一种方法可以让异常或堆栈跟踪告诉我,在我处理大量XML时,这种情况在XML中可能发生在哪里。
这是我的LINQ查询..。
XDocument xml = XDocument.Parse(responseXml);
List<PaymentModel> paymentDe
我的项目中有一些奇怪的错误:
Error 1 The type 'System.Xml.Linq.XDocument' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Xml.Linq, Version=2.0.5.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
但我确实添加了对"System.Xml.Linq“程序集的引用。我在“使用”一节中也有
如何将此输出写入流?我希望将元素以文本/xml格式写入流。我只是想创建简单的REST服务。我想使用element.Save方法。
<%@ WebHandler Language="C#" Class="Calculation" %>
using System;
using System.Web;
public class Calculation : IHttpHandler {
public void ProcessRequest (HttpContext context) {
int numberCalculation
我使用Linq从一些XML中提取值。下面是一个简单的示例,以说明我遇到的问题。下面的代码可以很好地处理下面所示的XML。我遇到的问题是,当groupBy部分丢失时。因为当它丢失时,Data.Element("groupBy").Element("property)会失败,因为Data.Element("groupBy")将为null。是否可以修改我的Linq语句以允许它提供缺省值,或者是否应该以另一种方式处理它?
var e = (from Data in theXML.Descendants("exportFile")
select
我有以下linq代码,试图将xml文件解析为datatable,但在生成的datatable中得到奇怪的值所有单元格值都显示为
System.Xml.Ling.XContainer+<GetElements>d_11
这是我的LINQ
XDocument doc1 = XDocument.Load(@"D:\m.xml");
var q = from address in doc1.Root.Elements("Address")
let name = addre
(使用最新的MVC2RC2)我正在尝试按元素的属性值对LINQ (C#)中的一些XML进行排序……
var sites = from s in xDoc.Element("sites").Elements("site")
orderby s.Attribute("name")
select s;
但是当我把它传递给我的视图时,我得到了一个异常:
Exception Details: System.ArgumentException: At least one object must implement IComparable.
Source Er
在将XElement添加到列表中时,我不能像通常使用字符串或整型数据列表那样执行查找。请建议我必须在下面做什么更改才能使其作为myIndexCase1或myIndexCase2工作?
using System.Linq;
using System.Xml.Linq;
using System.Xml.XPath;
using System.Xml;
using System.Text;
XElement x1 = new XElement("groupA", new XAttribute("Name","red"));
XElement x2
运行服务器:PHP5.2.17,启用了XMLReader的libxml2.7.8。
问题是,当我尝试$xmlReader::ELEMENT时,它会抱怨T_PAAMAYIM_NEKUDOTAYIM的解析错误。
是否有引入此行为的特定版本?因为它似乎在我的脱机5.3.6服务器上工作得很好…
$xmlReader = new XMLReader;
if (!$xmlReader->open('file.xml', null, 1<<19)){
throw new Exception('Unable to read file
我试图将我的xml结果转换为一个IQueryable,它给出了这个错误:
An unhandled exception of type 'System.InvalidCastException' occurred in weatherxml.exe
Additional information: Unable to cast object of type 'WhereSelectEnumerableIterator`2[System.Linq.IGrouping`2[System.String,System.Xml.Linq.XElement],System.Linq
我试图将行大容量插入到数据库中。这个表中的一些列是XML类型的,这就是我面临的一些问题。
我尝试使用SqlBulkCopy来实现这一目标,但是继续获得一个错误,即XElement不能转换为字符串,尽管我从未执行类型强制转换。
这是我的桌子设计:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[TasksQueue]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[Type] [int] NOT NULL,
我使用下面的代码从XML文件中提取信息。但是,如果节点不存在,我将得到一个NullReferenceException错误。我以为这不应该发生在使用LINQ。但我对LINQ和XML非常陌生。因此,我添加了从中找到的扩展方法。但我还是明白错误。谁能告诉我我错过了什么吗?
using System;
using System.Text;
using System.Windows.Forms;
using System.Linq;
using System.Xml.Linq;
public static class XElementExtensionMethod
{
public stat
我正在使用LINQ to XML生成XML文档文档。我希望XML文档是最小的,也就是很少使用的属性应该被省略。目前,我是这样做的:
XElement element = new XElement("myelement",
new XAttribute("property1", value1),
new XAttribute("property2", value2));
if (!string.IsNullOrEmpty(rareValue1))
{
element.Add(new XAttribute(