我正在開發應讀取XML文件的webpart
。爲此,我創建了一個類,其中NodeValue()
方法應該返回節點內的文本。如果使用控制檯應用程序進行測試,這可行,但是當我將此(讀取器類和自定義XML文件)添加到我的SharePoint項目並嘗試部署它時,我收到錯誤消息Web Part error: File Not Found
。我嘗試更改文件屬性,以便將它添加到編譯版本中,但我似乎仍然無法指定文件的路徑。下面是讀取器類:如何將XML文件添加到SharePoint項目
using System;
using System.Reflection;
using System.IO;
using System.Xml;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OrgChartPart.WebPartCode
{
class ReadXml
{
public string FilePath { get; set; }
public ReadXml()
{
FilePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)+"\\LAYOUTS\\config.xml";
}
public string NodeValue(int pos)
{
if (pos <= 0)
return "invalid position!(this is not a node value)";
XmlTextReader textReader = new XmlTextReader(FilePath);
int counter = 0;
while (counter != pos)
{
textReader.Read();
if (textReader.NodeType.ToString() == "Text")
counter++;
}
return textReader.Value;
}
}
}
這裏是網絡的一部分代碼,我實例化這個類來讀取文件的部分內容:
StringBuilder sb = new System.Text.StringBuilder();
.......
string position = null, link_type = null, link_color = null,
node_alignment = null, node_fill = null, node_color_style = null, hyperlinks = null;
ReadXml readXml = new ReadXml();
sb.Append(@"
........
我不知道如果我有麻煩識別文件的路徑,還是我需要提高權限才能訪問它?或者,也許當解決方案部署目錄結構改變,所以我指定了一個錯誤的路徑?你怎麼看? 在此先感謝