E
Edwin
I am trying to write an application among which one of the functions is to
determine the number of unique extensions found in a directory and all of
its sub directories. I am trying to use Linq to XML to do this.
Below is the code being used to accomplish what I am trying to do. In the
"if" statement, I am trying to update the <Count></Count> Element to
"TESTING". However what I will really want is to add 1 to the existing
numerical value.
Your help is greatly appreciated!
System.IO.FileInfo myCurrentFile;
System.Xml.Linq.XElement myFileCountCurrentElement;
var Extensions = new XElement("Count", (from Extension in
_myFileExtensionCount.LinqXDocument.Descendants("Extension") where
Extension.Element("Name").Value == myCurrentFile.Extension.ToLower()
select new
{
Name =
Extension.Element("Name").Value,
Count =
Extension.Element("Count").Value,
}));
// An unaccounted file extension has been found. Let's add it.
if (Extensions.IsEmpty == true)
{
myFileCountCurrentElement = _myFileExtensionCount.LinqXDocument.Root;
myFileCountCurrentElement =
_myFileExtensionCount.AppendXmlElement(myFileCountCurrentElement,
"Extension", null);
_myFileExtensionCount.AppendXmlElement(myFileCountCurrentElement,
"Name", myCurrentFile.Extension.ToLower());
_myFileExtensionCount.AppendXmlElement(myFileCountCurrentElement,
"Count", "1");
}
else
{
Extensions.SetValue("TESTING");
}
Below is the XML output that I am getting.
<?xml version="1.0" encoding="utf-8" ?>
- <FileExtensions>
- <Extension>
<Name>.m4b</Name>
<Count>1</Count>
</Extension>
- <Extension>
<Name>.docx</Name>
<Count>1</Count>
</Extension>
- <Extension>
<Name>.doc</Name>
<Count>1</Count>
</Extension>
- <Extension>
<Name>.xls</Name>
<Count>1</Count>
</Extension>
- <Extension>
<Name>.xlsx</Name>
<Count>1</Count>
</Extension>
</FileExtensions>
determine the number of unique extensions found in a directory and all of
its sub directories. I am trying to use Linq to XML to do this.
Below is the code being used to accomplish what I am trying to do. In the
"if" statement, I am trying to update the <Count></Count> Element to
"TESTING". However what I will really want is to add 1 to the existing
numerical value.
Your help is greatly appreciated!
System.IO.FileInfo myCurrentFile;
System.Xml.Linq.XElement myFileCountCurrentElement;
var Extensions = new XElement("Count", (from Extension in
_myFileExtensionCount.LinqXDocument.Descendants("Extension") where
Extension.Element("Name").Value == myCurrentFile.Extension.ToLower()
select new
{
Name =
Extension.Element("Name").Value,
Count =
Extension.Element("Count").Value,
}));
// An unaccounted file extension has been found. Let's add it.
if (Extensions.IsEmpty == true)
{
myFileCountCurrentElement = _myFileExtensionCount.LinqXDocument.Root;
myFileCountCurrentElement =
_myFileExtensionCount.AppendXmlElement(myFileCountCurrentElement,
"Extension", null);
_myFileExtensionCount.AppendXmlElement(myFileCountCurrentElement,
"Name", myCurrentFile.Extension.ToLower());
_myFileExtensionCount.AppendXmlElement(myFileCountCurrentElement,
"Count", "1");
}
else
{
Extensions.SetValue("TESTING");
}
Below is the XML output that I am getting.
<?xml version="1.0" encoding="utf-8" ?>
- <FileExtensions>
- <Extension>
<Name>.m4b</Name>
<Count>1</Count>
</Extension>
- <Extension>
<Name>.docx</Name>
<Count>1</Count>
</Extension>
- <Extension>
<Name>.doc</Name>
<Count>1</Count>
</Extension>
- <Extension>
<Name>.xls</Name>
<Count>1</Count>
</Extension>
- <Extension>
<Name>.xlsx</Name>
<Count>1</Count>
</Extension>
</FileExtensions>