2012-01-25 120 views
1

在我的項目中,我必須生成SharePoint搜索結構的同義詞庫文件。如果我編輯當前同義詞庫文件(tseng.xml),則SharePoint搜索中心中的同義詞搜索沒有任何問題。從SharePoint列表生成自定義SharePoint同義詞庫文件

但是,我從列表中獲得同義詞,我需要將它們推送到適當結構中的tseng.xml文件中。我實現了此過程,但生成的結構(在tseng.xml中)在SharePoint搜索中無效。

我讀過關於這個話題的那篇文章(link),這個假設是在我的詞庫生成代碼中解析問題。他使用XmlWriter生成XML。

現在,我需要使用LINQ to XML以及如何使用linq生成同義詞庫文件併爲同義詞庫創建適當的xml結構?

謝謝。

回答

0

您可以將LINQ to XML與XmlWriter結合使用。構建您的XDocument,然後使用XDocument.Save Method (XmlWriter)保存:

StringBuilder sb = new StringBuilder(); 
XmlWriterSettings xws = new XmlWriterSettings(); 
xws.OmitXmlDeclaration = true; 
xws.Indent = true; 

using (XmlWriter xw = XmlWriter.Create(sb, xws)) { 
    XDocument doc = new XDocument(
    new XElement("Child", 
     new XElement("GrandChild", "some content") 
    ) 
    ); 
    doc.Save(xw); 
} 

Console.WriteLine(sb.ToString());