我要在控制台应用程序项目中创建xml文件,然后从txt文件写入数据,并且在同一解决方案中也有一个asp.net核心mvc项目。我想在asp中读取xml数据。网络核心项目,但我无法访问在不同项目中但在相同解决方案中的文件。
public IActionResult List()
{
List<Models.Word> wordList = new List<Models.Word>();
string xmlPath=@"~\\YCMobyDickChallenge\\bin\\Debug\\netcoreapp2.1\\words.xml";
//using (FileStream fs = new FileStream())
using (XmlTextReader xmlReader = new XmlTextReader(xmlPath))
{
while (xmlReader.Read())
{
switch (xmlReader.NodeType)
{
case XmlNodeType.Element:
if (xmlReader.Name != "words")
{
Models.Word word = new Models.Word();
word.text = xmlReader.GetAttribute("text");
word.count = Convert.ToInt32(xmlReader.GetAttribute("count"));
wordList.Add(word);
}
break;
}
}
}
wordList.Sort();
return View(wordList);
}
在这个名为YCMobyDickChallenge
的解决方案中,我有两个项目,例如YCMobyDickChallenge
和YCMobyDickWebApp
,我试图从Web应用程序访问控制台应用程序中的words.xml文件。当我调用此操作时,它给了我类似的错误。
“ System.IO.DirectoryNotFoundException:'无法找到 路径 'C:\ Users \ cosku \ source \ repos \ YCMobyDickChallenge \ YCMobyDickWebApp \〜\ YCMobyDickChallenge \ YCMobyDickChallenge \ bin \ Debug \ netcoreapp2.1 \ words.xml'。'“
答案 0 :(得分:0)
由于您已经找到答案,因此我将对您提供的代码发表一些意见。
public static constant string BatchOutputFolder = @"C:\BatchOutput\";
var xmlPath = Constants.BatchOutputFolder + "words.xml";