Tag: xml

如何准备Word 2007文档,以便C#可以从语义上提取数据?

我有一个朋友在Microsoft Word 2007中写了一本400页的书 。 在整本书中,他有200个故事,每个故事由许多段落组成。 当他完成这本书的编写后,他希望将嵌入在他的Word文档中的每个故事的文本复制到数据库表中,例如: Title, varchar(200) Description, text Content, text 我们不希望将每个故事复制并粘贴到数据库中,但希望程序自动将标记的数据从Word文件中提取到数据库中的相应字段中。 他必须在Microsoft Word中将每组段落表示为“故事内容”,将每个标题表示为“故事标题”等。先决条件是此标记在文档中不可见。 我知道Word 2007文件基本上是压缩的XML文件所以我认为这是可能的,我认为样式表是我们需要的,但我如何准确地准备Word文档,以便在添加故事时正确标记它们? 我假设C#4.0的新COM Interopfunction是我需要分析Word文件并仅从嵌入式故事中检索标题,描述和内容,但我如何在技术上做到这一点? 有人有例子吗? 有没有人有经验做这样的项目(阅读Microsoft Word作为semnatic数据文件),他们可以分享?

400错误请求将xml有效负载发送到WCF REST服务

我知道有几篇post询问400错误,我相信我已经阅读了所有这些错误,但我认为我面临的问题是不同的。 这是我的WCF服务合同 [WebInvoke(UriTemplate = “/cust_key/{key}/prod_id/{id}”, Method = “POST”, BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml)] Stream GetData(string key, string id, string data); 这是我用来将请求发送到我的restsvc的代码 request.RequestUri = new Uri(“http://localhost:3138/v1/cust_key/company1/prod_id/testProductID”); request.ContentType = “application/xml”; request.HttpMethod = “POST”; string xml = @”dell 400400 dollars”; byte[] message = Encoding.ASCII.GetBytes(xml); string data = Convert.ToBase64String(message); response = request.MakeWebRequest(null, data); 这给了我400个错误请求错误。 我试图将xml字符串更改为以下两个,它们也会产生400错误 […]

XML序列化类具有隐藏inheritance成员的新属性

我有以下抽象类结构: public abstract class Template { // Some properties and methods defined } public abstract class Template : Template where TTemplate : Template { // No new properties defined, but methods overriden } 然后我将这些模板类用作模型的一部分: public abstract class Model { public Template Template {get;set;} public Model(Template t) {Template = t;} // More properties and methods } […]

C#对象为XML

我正在创建一个需要将c#对象转换为XML的应用程序。 我正在使用XML Serializer类来实现这一点。 这是代码片段: public class Anwer { public int ID { get; set; } public string XML { get; set; } public Anwer(int ID, string XML) { this.ID = ID; this.XML = XML; } public Anwer() { } } 这是主要function: string AnswerXML = @”1″; List answerList = new List(); answerList.Add(new Anwer(1,AnswerXML)); AnswerXML = @”2″; […]

如何在ASP.NET中处置或关闭XML Document的实例

有一个问题,其中XML Document.Save导致进程无法访问该文件的错误,因为它正被另一个进程或语句使用无效的XML文档。我认为这是因为我没有处置XML Document对象在它的操作完成后。是否可以这样做。有解决方法吗?

C#XMLElement.OuterXML在一行而不是格式

我正在尝试使用log4net从WCF服务记录一些XML响应。 我希望XML文件的输出到日志中的格式正确。 该请求作为XMLElement提供。 例: 请求如下: Information Application1 Timings 1000 2012-09-02T12:05:15.234Z Server1 10000000-0000-0000-0000-000000000000 Progam1 Entry User1 然后,如果我将此值输出到log4net。 logger.Info(request.OuterXml); 我将整个文档记录在一行中,如下所示: InformationApplication1Timings10002012-09-02T12:05:15.234ZServer110000000-0000-0000-0000-000000000000Progam1EntryUser1 我希望它在log.txt文件中显示格式正确,因为它进来。到目前为止,我发现这样做的唯一方法是将它转换为XElement,如下所示: XmlDocument logXML = new XmlDocument(); logXML.AppendChild(logXML.ImportNode(request, true)); XElement logMe = XElement.Parse(logXML.InnerXml); logger.Info(logMe.ToString()); 这对我来说似乎不是一个好的编程。 我一直在搜索文档,我无法找到一种内置的方法来正确输出它而不转换它。 是否有一种明显的,更好的方式让我失踪? edit1:删除了ToString(),因为OuterXML是一个String值。 edit2:我回答了我自己的问题: 所以我做了一些研究,我想我错过了文档中的一段代码。 http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.outerxml.aspx 我把它归结为: using (MemoryStream ms = new MemoryStream()) { XmlWriterSettings xws = new XmlWriterSettings(); xws.Indent = true; […]

在.Net(C#)中构建Google商品Feed?

下面是我试图遵循的架构: The name of your data feed http://www.example.com A description of your content Red wool sweater http://www.example.com/item1-info-page.html Comfortable and soft … cold winter nights. http://www.example.com/image1.jpg 25 new 1a 以下是我能够制作的: The name of your data feed http://www.google.com A description of your content Red Wool Sweater http://www.google.com/Red-Wool-Sweater Comfortable and soft, this sweater will keep you warm on […]

更新XML文件(C#/ Linq)

我正在试图弄清楚如何更新我的XML文件。 我知道如何读写,但不知道如何更新现有记录。 我的XML文件看起来像: 我希望能够更改已存在于文件中的XAttribute的值。 这就是我写文件的方式: XElement xElement; xElement = new XElement(“Orders”); XElement element = new XElement( “Order”, new XAttribute(“Quantity”, Quantity), new XAttribute(“Part No”, PartNo), new XAttribute(“Description”, Description), new XAttribute(“Discount”, Discount), new XAttribute(“Freight”, Freight), new XAttribute(“Unit Value”, UnitValue), new XAttribute(“Line Total”, LineTotal) ); xElement.Add(element); xElement.Save(“”); 是否可以进行更新,或者我们必须首先删除现有的更新,然后使用新值重新添加它?

在RESTful WCF中混合XML和JSON,无需单独的方法

我有一个RESTful WCF服务,可以返回XML,JSON或JSONP,具体取决于参数,例如/service.svc/stuff?format=xml或service.svc/stuff?format=json&callback=myCallback 。 为此,我创建了一个自定义的Behavior,MethodEncoder和MethodEncoderFactory,它处理包装JSONP回调并根据format参数选择writer。 在我的编码器的WriteMessage()方法中,我做了类似的事情 XmlWriter writer = IsXmlRequested() ? XmlDictionaryWriter.CreateTextWriter(stream) : JsonReaderWriterFactory.CreateJsonWriter(stream) message.WriteMessage(writer); 然后,我将我的服务方法定义为只返回JSON但使用我的自定义绑定元素: [OperationContract, JSONPBehavior, WebGet(ResponseFormat = WebMessageFormat.Json, UriTemplate = “stuff”) public List GetStuff(){…} 它几乎可以工作。 当我要求XML或JSON时,我得到了正确格式的东西,但XML没有像我期望的那样被序列化。 这是XML的样子: 1 如果我只是将WebMessageFormat设置为XML,我会得到这样的结果: 1 我绝对想要后者。 我猜这种情况正在发生,因为在创建Message对象时,结果被序列化为字典; 我的自定义编码器只是决定如何将该字典写入响应流。 因此它获得了正确的编码,但不完全是格式,这已经由ResponseFormat决定。 首先,是吗? 如果是这样,我该如何解决这个问题呢? 例如,我可以编写自己的WebMessageFormat吗? 或者我是否只需要为/ json / *和/ xml / *提供不同的ResponseFormat属性的单独方法(和URI模板)? 更新:在.net 4中,您可以设置一个WebOperationContext.Current.OutgoingResponse.Format属性。 我想我的问题归结为:有没有办法在.net 3.5中实现这一目标?

如何在c#中使用open xml sdk将doc转换为docx

请帮助我使用open xml sdk或除word自动化之外的任何其他方法将.doc文件转换为.docx。 提前致谢。